[flac-dev] PATCH for MSVC++ 2005 Express

lvqcl lvqcl.mail at gmail.com
Fri Aug 16 12:49:50 PDT 2013


Recently I downloaded MSVC++2005 Express Edition and it turns out that it wasn't possible to compile all files without several changes:

1) FLAC.sln has one extra "EndProject" line

--- a\FLAC.sln	2013-06-17 11:57:09.000000000 +0400
+++ b\FLAC.sln	2013-08-16 20:19:34.630486700 +0400
@@ -157,7 +157,6 @@
  EndProject
  Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "utf8_static", "src\share\utf8\utf8_static.vcproj", "{4cefbc92-c215-11db-8314-0800200c9a66}"
  EndProject
-EndProject
  Project("{4cefbc7c-c215-11db-8314-0800200c9a66}") = "win_utf8_io", "src\share\win_utf8_io\win_utf8_io.vcproj", "{4cefbe02-c215-11db-8314-0800200c9a66}"
  EndProject
  Global


2) Two lib files were created in a wrong folder

--- a\src\plugin_common\plugin_common_static.vcproj	2013-08-13 13:30:24.000000000 +0400
+++ b\src\plugin_common\plugin_common_static.vcproj	2013-08-16 20:09:42.782635000 +0400
@@ -129,7 +129,7 @@
  			/>
  			<Tool
  				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\release\lib\$(ProjectName).lib"
+				OutputFile="..\..\objs\release\lib\$(ProjectName).lib"
  			/>
  			<Tool
  				Name="VCALinkTool"

--- a\src\test_libs_common\test_libs_common_static.vcproj	2013-08-13 13:30:24.000000000 +0400
+++ b\src\test_libs_common\test_libs_common_static.vcproj	2013-08-16 20:09:51.853153800 +0400
@@ -129,7 +129,7 @@
  			/>
  			<Tool
  				Name="VCLibrarianTool"
-				OutputFile="..\..\..\objs\release\lib\$(ProjectName).lib"
+				OutputFile="..\..\objs\release\lib\$(ProjectName).lib"
  			/>
  			<Tool
  				Name="VCALinkTool"


3) Conflicting preprocessor definition

--- a\include\share\compat.h	2013-08-13 13:30:24.000000000 +0400
+++ b\include\share\compat.h	2013-08-16 20:43:44.440411100 +0400
@@ -75,7 +75,8 @@
  #if defined(_MSC_VER)
  #if _MSC_VER < 1500
  /* Visual Studio 2008 has restrict. */
-#define restrict __restrict
+/* in MSVC 2005 it conflicts with __declspec(restrict); also FLAC sources don't have restrict keyword */
+/* #define restrict __restrict */
  #endif
  #define inline __inline
  #endif


More information about the flac-dev mailing list