Use FlightGear.sln to compile fgfs executable for Win32 or x64 architectures with Visual Studio 2008.
Previous versions of Visual Studio are not officially supported anymore.

Precompiled librairies and headers for compiling x64 executables with VS2008 :
ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/fgfs-x64-VS90-3rdParty+OSG-20110117.zip

Precompiled librairies and headers for compiling Win32 executables with VS2008 :
ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/fgfs-win32-VS90-3rdParty+OSG-20110117.zip

The VS2008 / v9.0 project files assume the directory layout below :

Win32 build :
 * any_directory_on_any_drive /
      3rdParty /                 ( includes plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, libsvn, gdal, ...
         bin /
         include /
         lib /
      boost_1_44_0 /
         boost /
         lib /
      source /                   ( Flightgear CVS directory - It can also be renamed FlightGear or anything else
         src /
         projects /
            VC90 /
               Win32 /           ( generated at build time
                  Debug /        ( Debug executable
                  Release /      ( Release executable
               FlightGear.sln    ( Main solution
         utils /
      install /
         msvc90 /
            OpenSceneGraph /     ( OSG CMake install
               bin /
               include /
               lib /
      SimGear /                  ( SimGear CVS directory
         simgear /
         projects /
            VC90 /

3rdParty, boost_1_44_0 and install/msvc90 are included in the Win32 3rdParty archive.

x64 build :
 * any_directory_on_any_drive /
      3rdParty.x64 /             ( includes plib, fltk, zlib, libpng, libjpeg, libtiff, freetype, ...
         bin /
         include /
         lib /
      boost_1_44_0 /
         boost /
         lib64 /
      source /                   ( Flightgear CVS directory - It can also be renamed FlightGear or anything else
         src /
         projects /
            VC90 /
               x64 /             ( generated at build time
                  Debug /        ( Debug executable
                  Release /      ( Release executable
               FlightGear.sln    ( Main solution
         utils /
      install /
         msvc90-64 /
            OpenSceneGraph /     ( OSG CMake install
               bin /
               include /
               lib /
      SimGear /                  ( SimGear CVS directory
         simgear /
         projects /
            VC90 /

3rdParty.x64, boost_1_44_0 and install/msvc90-64 are included in the x64 3rdParty archive.

Typical setup should decompose into the following steps :

  1. Install Visual Studio 2008 Express (http://msdn.microsoft.com/fr-fr/express/aa975050.aspx)
  2. Install msysGit (http://code.google.com/p/msysgit/)
  3. Create a new directory, say D:\FGFSDevel (or anything else)
  4. Unzip precompiled Win32 3rd party archive in it
  5. Open a Git Bash session and cd to the new directory ( cd /d/FGFSDevel )
  6. Get SimGear sources from Gitorious : git clone git://gitorious.org/fg/simgear.git SimGear
  7. Get FlightGear source from Gitorious : git clone git://gitorious.org/fg/flightgear.git FlightGear
  8. Go to D:\FGFSDevel\FlightGear\projects\VC90 and double-click on FlightGear.sln
  9. Select the "Release" configuration
 10. Open file D:\FGFSDevel\SimGear\simgear\version.h.in and change @VERSION@ into "2.0.0" or any current version
 11. Save file as version.h in the same directory
 12. Start build (usually F7)
 13. Get the data from Gitorious too : git clone git://gitorious.org/fg/fgdata.git fgdata
 14. Wait...
 15. Add <any_directory_on_any_drive>/install/msvc90/OpenSceneGraph/bin and <any_directory_on_any_drive>/3rdParty/bin to your PATH environment variable
 16. Enjoy - programs are in D:\FGFSDevel\FlightGear\projects\VC90\Win32\Release

It is also possible to compile a Debug version. This is only useful when hacking the code because 
a Debug version is way slower than the Release one.

The 64bit build is only available to people having the Professional edition of Visual Studio 2008. In that case, 15. above should be :
 15. Add <any_directory_on_any_drive>/install/msvc90-64/OpenSceneGraph/bin and <any_directory_on_any_drive>/3rdParty.x64/bin to your PATH environment variable

When the manual build works, it is possible to start it from the command line. This is useful 
when setting up a build server or automating the process of retrieving the code and building 
it in a scheduled task. To do that :

 1. open a command line window
 2. execute "C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
     or "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat" in a 
     64bit environment (Vista 64-bit or Windows7 64-bit)
     You should see : "Setting environment for using Microsoft Visual Studio 2008 x86 tools."
     printed in the console
     ( To start 64-bit build, the right environment is set with :
       "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" amd64
     )
 3. cd to the FlightGear project directory :
     D:
     cd \FGFSDevel\FlightGear\projects\VC90  (for example)
 4. start the build with the command line below :
     msbuild FlightGear.sln /p:Configuration=Release /m
    or 
     msbuild FlightGear.sln /p:Configuration=Debug /m

That's all...

Note: you may experience the error below running the msbuild command :
FlightGear\projects\VC90\FlightGear.sln : error MSB4018: The "ResolveVCProjectOutput" task failed unexpectedly.
...(lots of additionnal messages)

In that case, remove the /m switch from the command line.
