Building FlightGear - Windows

From FlightGear wiki
Revision as of 15:29, 4 September 2008 by RatOmeter (talk | contribs) (New page: __TOC__ '''NOTE: This page is a work in progress. Use at your own peril. This notice will be removed when this page is ready.''' This section describes how to build FlightGear on Windows...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

NOTE: This page is a work in progress. Use at your own peril. This notice will be removed when this page is ready.

This section describes how to build FlightGear on Windows using Visual C++ 2008 Express Edition (the "free" for personal use version). These procedures will be very similar if you have the full Visual Studio 2008 and mostly similar if you're using older versions of Visual C++.

Keep in mind that compiling FlightGear is a large project with external dependencies and is not a task for novice users. If you're a beginner (we all were once), we recommend postponing this task and just starting with the binary distribution to get you flying.

October 29th 2006, Flightgear CVS MAIN Branch switched to OSG support. Plib support remains available in CVS using PRE_OSG_PLIB_20061029 Branch. (cvs up -rPRE_OSG_PLIB_20061029)

Requirements

Before you can compile FlightGear, you need to have the following installed on your computer:

C++ compiler

You may download the Express ("free" for personal use) version of Visual C++ 2008 from Microsoft at this link: [1]

CVS

Yes, the program is called 'CVS'. This is used for downloading the latest set of source code. Windows developers may wish to see Using TortoiseCVS with FlightGear.


Dependencies

FlightGear is dependent on quite a few number of libraries. You do not need to compile all of them yourself, but you will at least need to have their development version installed. For example, the development version for package plib1.8.5 is plib1.8.5-dev.

The dependency is summarized in the following tree. Please note that each library has its own dependencies, and most of these are not shown here.

If you attack the above dependencies in the order listed below, you should be good:

1. Glut. Most distributions include glut packages, although you may have to hunt for them. Make sure you install both the glut and glut-devel packages, otherwise FlightGear may be able to compile but won't run correctly.

2. Zlib. Most distributions install the basic zlib libraries by default, but not the development portions. If you don't have zlib.h, you probably need to install the zlib-devel package for your distribution.

3. Plib - portability libraries and scene graph.

4. OpenSceneGraph

5. SimGear - Simulation support libraries. If you are building FlightGear from CVS, you need the CVS version of SimGear. If you have strange build errors, one of the first things to check is that you have an up-to-date version of SimGear built and installed.

Compiling

Getting and compiling SimGear

Step 1:

Login to the cvs server and checkout the latest version of SimGear's source code with:

cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login
CVS passwd: guest

cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 co source

Step 2:

Since all the source code will be downloaded into a directory called source, you will need to rename the directory into something more meaningful.

Rename the above directory by doing:

mv source simgear

Next, go into the directory and make preparations for the compilation:

cd simgear
./autogen.sh
./configure

Note that if you don't want to install simgear globally on the system but in a specific directory, you can do so by adding --prefix=/path/to/your/fgInstallation to the ./configure command

Step 3:

Compile and install SimGear by doing:

make; make install.


Note: with gcc 4.2 or later,on some platforms, you can get compiling errors about alc.h like:

'<anonymous>' has incomplete type 

take a look at http://bugs.gentoo.org/166723

Getting and compiling FlightGear

Step 1:

To login to the cvs version and checkout the latest version of Flightgear's source code, use:

cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 login
CVS passwd: guest

cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co source

A directory with the name source will then be created with all of Flightgear's source code downloaded into it.

Step 2:

To rename the above directory, use the following command:

mv source flightgear

Next, go into the folder and make preparations for the compilation:

cd flightgear
./autogen.sh
./configure

Note that if you don't want to install simgear globally on the system but in a specific directory, you can do so by adding --prefix=/path/to/your/fgInstallation to the ./configure command. If you are building the OSG-version of FlightGear and didn't install OSG globally, you have to pass the OSG directory to the configure-command like this:

./configure --prefix=/path/to/fgInstallation --with-osg=/path/to/osg/source/build.osg --enable-osgviewer

In this case you have to tell your system where to find the OSG libraries before you can run flightgear:

 export LD_LIBRARY_PATH=/path/to/fgInstallation/lib:$LD_LIBRARY_PATH

Step 3:

Now you can compile and install Flightgear by:

make; make install

Step 4:

Get the data directory:

cvs -d :pserver:cvsguest@cvs.flightgear.org:/var/cvs/FlightGear-0.9 co data

And install it in (or as) /usr/local/share/FlightGear

mv data /usr/local/share/FlightGear

External links

Instructions