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
lvqcl wrote:> Recently I downloaded MSVC++2005 Express EditionThat was the free (as in free beer) version, right?> and it turns out that it wasn't possible to compile all files without > several changes:Is there not a later free (as in free beer) version? If there is, it makes little sense to keep maintaining project files for the old free version. Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
Erik de Castro Lopo <mle+la at mega-nerd.com> wrote:> Is there not a later free (as in free beer) version?There are also 2008, 2010 and 2012 versions. VS2012 Express requires Win7 to run (though it can create programs compatible with WinXP). VS2010 Express works on WinXP. It is possible to compile x86-64 programs with it, but it requires Platform SDK (also free). VS2005 and 2008 Express editions cannot create 64-bit apps.> If there is, it > makes little sense to keep maintaining project files for the old > free version.VS2005 and VS2008 use *.sln and *.vcproj files to store project settings, while 2010 and 2012 use *.sln, *.vcxproj (note x: vc_x_proj) and *.vcxproj.filters files. And it's not possible to easily downgrade project files from VS2010 format to VS2008 format. I think that moving from VS2005 to VS2010 or 2012 is a good isea, but... for example, Winamp team still uses Visual Studio 2008 to build Winamp and all necessary libraries including libFLAC.dll.
On Aug 16, 2013, at 3:49 PM, lvqcl wrote:> Recently I downloaded MSVC++2005 Express Edition and it turns out that it wasn't possible to compile all files without several changes:Thanks! Are any of the MSVC projects building x64 libraries? Brendan
Apparently Analagous Threads
- Patch to remove the dead in_flac project from the MSVC solution
- PATCH for MSVC .sln file (repeat)
- PATCH: fix output directory
- [PATCH 1/4] Create a simple project to create version.h to run before any other
- [LLVMdev] [Fwd: Updated LLVM Visual Studio project files]