I just succeeded in building FluidSynth 1.0.8 on Windows XP with VC++ 2008 Express Edition. (At the time of writing, this is the most recent free version of the compiler from Microsoft).
It took some fiddling about - so in the hope that it will benefit others here's what I did: 1) Unpacked fluidsynth source 2) Downloaded and installed MS VC++ 2008 Express Edition from: http://www.microsoft.com/express/download/ 3) Double clicked on ... fluidsynth-1.0.8\winbuild\fluidsynth.sln ... This launched VC++ 2008, with a solution conversion wizard. The wizard said the solution file was from an earlier version of VC++, but that it could automatically upgrade the solution and project files. So I let it do that and it then loaded the solution ok. 4) I worked on the 'release' configuration by selecting this option in the build->configuration manager menu. 5) I then repeatedly tried to build the solution from the build->solution menu - overcoming a series of problems until it worked as detailed below: 6) First of all, rather bizarrely, it wouldn't compile the stock stdio.h, producing this: C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdio.h(358) : error C3163: '_vsnprintf': attributes inconsistent with previous declaration C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdio.h(350) : see declaration of '_vsnprintf' The line that stimulates the problem in stdio.h is this declaration: __DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_ARGLIST_EX(int, RETURN_POLICY_SAME,_CRTIMP, _snprintf, _vsnprintf, _Pre_notnull_ _Post_maybez_ char, _Out_cap_(_Count) _Post_maybez_, char, _Dest, _In_ size_t, _Count, _In_z_ _Printf_format_string_ const char *, _Format) Microsoft say in their release notes for VC 2008 Express Edition, that they have added a bunch of security checks in the std library and provide some ideas of how to get round them if they pose problems - but I couldn't find a 'polite' solution among the compiler options etc. However, if you simply remove the offending declaration from stdio.h it will then compile, without any apparent knock-on problems. 7) The next problem is that the compiler cannot find dsound.h in the standard header file locations. This is largely because it simply doesn't exist in VC 2008 Express Edition. It's part of the DirectX sub system - which doesn't ship with VC any more (it did with earlier versions apparently). However there is a remedy - there is a separate free download from MS of the DirectX SDK which includes it. You get this from: http://www.microsoft.com/downloads/details.aspx?FamilyId=572BE8A6-263A-4424- A7FE-69CFF1A5B180&displaylang=en (a mere 400Mb). Once you have installed this SDK the solution compiles and builds to completion - albeit with a blizzard of warning messages. It made me feel better to set the compiler warning level to turn off all warnings for each sub project: project->properties->C/C++->general->warning level. (I like the illusion that all is well.) I hope this helps. Pete _______________________________________________ fluid-dev mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/fluid-dev
