]> git.mxchange.org Git - flightgear.git/blobdiff - docs-mini/README.MSVC
NavDisplay - cache nearby positioned items, and fix symbol instance queue to be clear...
[flightgear.git] / docs-mini / README.MSVC
index a8e1bc37d8a9aae21ff077eab54e09bc008f10af..b4b7d748a0b8346f04e9ed3ba8a51698afd587ef 100644 (file)
-How to compile FlightGear with Microsoft Visual C++ 7.0
-======================================================
+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.
 
-I am receiving an increasing number of request for working 
-project files for MSVC. While I can't reply specifically 
-to everybody, I packed my current, unedited, project files
-here :
-ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/
+Precompiled librairies and headers for compiling Win32 executables with VS2008 :
+ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/fgfs-win32-VS90-3rdParty+OSG-20110801.zip
 
-They are for MSVC 7. I am not trying to compile with MSVC 6
-anymore because it is an old compiler ( released 5 years ago )
-that has serious bugs and limitations that would make the 
-source ugly. For those that want to try, there are already 
-.dsp files in plib, SimGear and FlightGear source trees.
+Precompiled librairies and headers for compiling x64 executables with VS2008 :
+ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/fgfs-x64-VS90-3rdParty+OSG-20110801.zip
 
-Support request must be directed to the mailing list.
+These two archives only contain 'release' versions of librairies and executables. In addition,
+the archives below contain 'debug' version of libraries and should be dezipped over the previous one.
+ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/fgfs-win32-VS90-3rdParty+OSG-20110801-debug.zip
+ftp://ftp.ihg.uni-duisburg.de/FlightGear/Win32/MSVC/fgfs-x64-VS90-3rdParty+OSG-20110801-debug.zip
 
+The VS2008 / v9.0 project files assume the directory layout below :
 
-Pthread support for Windows can be obtained here:
-http://sourceware.org/pthreads-win32/
+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.