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