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 19-08-13 17:55, lvqcl wrote:> 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.Yes, sadly, because of the rather large differences between MSVC versions, some projects stick to a specific (out-of-date) version of it. As the changes necessary to keep everything working with 2005 are minimal (AFAIK only the third part of the patch lvqcl submitted is MSVC 2005 specific), it is probably a good idea to merge this patch.
Martijn van Beurden <mvanb1 at gmail.com> wrote:> As the changes necessary to keep everything working with 2005 are > minimal (AFAIK only the third part of the patch lvqcl submitted is MSVC > 2005 specific)Yes, exactly: compat.h redefines restrict as __restrict, but only for VS 2005 and older. Unfortunately this also changes __declspec(restrict) to __declspec(__restrict) which results in compilation errors. A possible solution is to ensure that compat.h is always the last (there are no other header files after it). But it's much simpler to remove this redefinition.