interreality.org [VOS]
[Home][About]
[Screenshots][Download]
[News][Community]
[Documentation][Manual]
[Bugs & Requests][Wiki]

A.9. Compiling VOS on Windows

A.9.1. Setting up a Windows Build Environment with MinGW/MSys

On Windows, the recommended way to build VOS is using the MinGW/MSys toolchain, which are (mostly) Windows-native ports of traditional Unix tools, in particularly GNU autotools build system (autoconf/automake/libtool). Lucky for us, MinGW and MSys have been packaged up with installers to make them relatively easy to set up. However, the Msys toolchain does not quite provide everything we need. To get the remaining tools, we will also do a minimal Cygwin install and download the remaining necessary packages (file, flex, and pkg-config).

From http://mingw.org/download.shtml, download and install the following packages, in this order:

  1. MSYS-1.0.10.exe

  2. msysDTK-1.0.1.exe

  3. MinGW-3.1.0-1.exe

When this is complete, you should have an "MSYS" icon on your desktop, which when double-clicked will give you a bash shell.

Next, you need to upgrade GCC, because the the distribution linked to above uses gcc 3.2 which is not compatible with the precompiled VOS libraries. Download these files to your mingw directory (typically c:\mingw)

  1. gcc-core-3.4.2-20040916-1.tar.gz

  2. gcc-g++-3.4.2-20040916-1.tar.gz

  3. binutils-2.15.91-20040904-1.tar.gz

Now unpack them:
$ cd /mingw
$ tar xvzf gcc-core-3.4.2-20040916-1.tar.gz
$ tar xvzf gcc-g++-3.4.2-20040916-1.tar.gz
$ tar xvzf binutils-2.15.91-20040904-1.tar.gz
Now if you type "gcc --version" it should say gcc 3.4.2.

Next download vos-win32-mingw-libs-0.23.0.zip. This contains headers and compiled libraries for boost and wxWidgets, saving you the trouble of building them yourself. Now do:

$ mkdir /local                    # if it doesn't exist
$ cd /local
$ unzip vos-win32-mingw-libs-0.23.0.zip
          

Now you are ready to configure and build VOS.

When you configure Crystal Space on MinGW for VOS support, you will need to specify where to find certain packages. Here is a sample command line which inclues all the required information.

./configure --with-metaobject_a3dl=/c/somewhere/vos/inplace CXXFLAGS=-I/local/vos-win32-mingw-libs-0.23.0/include/ LDFLAGS=-L/local/vos-win32-mingw-libs-0.23.0/lib CONFIG_WX=/local/vos-win32-mingw-libs-0.23.0/bin/wx-config
	  

A.9.2. Compiling VOS with Microsoft Visual C++ 8.0

VOS provides support for Microsoft Visual C++ 8.0, and was developed using the Visual C++ 8.0 Express. At the time of this writing, the Express edition of Visual C++ can be downloaded for free. You will also need to install the Win32 Platform SDK.

Now download vos-win32-msvc-libs-0.23.0.zip. This contains headers and compiled libraries for boost and wxWidgets, saving you the trouble of building them yourself. Unzip this file at a place of your choosing, which we'll call x:\somewhere

Now go to Tools->Options->VC Directories. Select "Include directories" and add to the search list:

  • "x:\somewhere\vos-win32-msvc-libs-0.23.0\include"

  • "x:\somewhere\vos\libs\"

  • "x:\somewhere\CS\include"

Select "Library directories" and add to the search list:

  • "x:\somewhere\vos-win32-msvc-libs-0.23.0\libs"

  • "x:\somewhere\vos\$(ConfigurationName)"

  • "x:\somewhere\CS\out\$(ConfigurationName)\libs"

Now you can open the project "vos\vos.sln" and select "build all". This will compile the core VOS libraries and applications.

To build Ter'Angreal you must next build the Crystal Space 3D engine. You will want to load "wkswxtypical.sln" solution file, which contains the wxWidgets component which is required by wxTer'Angreal. In addition, you will want to add the "plgcsvosa3dl.vcproj" project to that solution (as it is not included by default).

Finally, you can open the project "vos-browser\vos-browser.sln" and select "build". This should give you wxterangreal.exe. Collect all the DLLs (from Boost, VOS, Crystal Space, and wxWidgets) into one directory, and you will be able to run wxTerAngreal.

Links to further documentation