Compile on Windows

Prerequisits
What you need is mainly the compiler. On Windows we use the M$ VisualStudio 6 Compiler with the highest service pack. Although it's probably possible to use Cygwin or MingW gcc it's not tested or ported so far. We have also ported to VC7.1 and VC8.0. If you use VC8 Express Edition you need to download the Windows Platform SDK to get e.g. the Windows.h. Also you need all the ThirdPartyLibraries to succsefully compile FreeCAD.

Using LibPack
To make it easier to get FreeCAD compiled, we provide a collection of all needed Libraries. Its called LibPack. You'll find it on the http://sourceforge.net/project/showfiles.php?group_id=49159 on sourceforge.

Needed environment variables:


 * FREECADLIB -> D:\Wherever\LIBPACK
 * QTDIR     -> %FREECADLIB%

add "%FREECADLIB%\bin" and "%FREECADLIB%\dll" to the path variable. You have to replace "%FREECADLIB%" with the path name, since windows does not recursively replace environment variables.

Compiler Setup
The first thing is, you have to put STLport on the top of the include list! That's important. Otherwise VC6 will use its own STL libraries which are terribly bad! With VC7.1 and VC8 you don't need STLport.

Set directories in Visual Studio:

Includes:
 * D:\DEVELOP\FREECAD\LIBPACK\INCLUDE\STLPORT45
 * D:\DEVELOP\FREECAD\LIBPACK\INCLUDE\PYTHON23
 * D:\DEVELOP\FREECAD\LIBPACK\INCLUDE\XERCES260
 * D:\DEVELOP\FREECAD\LIBPACK\INCLUDE\OPENCASCADE61
 * D:\DEVELOP\FREECAD\LIBPACK\INCLUDE\COIN221
 * D:\DEVELOP\FREECAD\LIBPACK\INCLUDE\SOQT102
 * D:\DEVELOP\FREECAD\LIBPACK\INCLUDE\QT321
 * D:\DEVELOP\FREECAD\LIBPACK\INCLUDE\GTS070_GLIB
 * D:\DEVELOP\FREECAD\LIBPACK\INCLUDE\WM3
 * D:\DEVELOP\FREECAD\LIBPACK\INCLUDE\ZLIB123

Libs:
 * D:\DEVELOP\FREECAD\LIBPACK\Lib

Executables:
 * D:\DEVELOP\FREECAD\LIBPACK\bin

During the compilation some Python scripts get executed. So the Python interpreter has to function on the OS. Use a command box to check it. If the Python library is not properly installed you will get a error message like Cannot find python.exe. If you use the LibPack you can also use the python.exe in the bin directory.

Compile
After you conform to all prerequisits the compilation is just press the build button in VC ;-)

!Other Environmental Setups

To get FreeCAD up and running from the compiler environment you need to move a few files from the LibPack to the "bin" folder where FreeCAD.exe is installed after a successfull build:


 * python.exe and python_d.exe from LIBPACK/bin
 * python23.dll and python23_d.dll from LIBPACK/dll
 * python23.zip from LIBPACK/dll
 * make a copy of python23.zip and rename it to python23_d.zip
 * zlib.pyd and lib_d.pyd from LIBPACK/bin/lib. This is needed by python to open the zipped python library.

Special for VC8 When building the project with VC8, you have to change the link information for the WildMagic library, since you need a different version for VC6 and VC8. Both versions are supplied in LIBPACK/dll. In the project properties for AppMesh change the library name for the wm.dll to the VC8 version. Take care to change it in Debug and Release configuration.

Additional stuff
If you whant to build the Source Docu you need DoxyGen. If you whant to make a intstaller package you need [WIX|http://wix.sourceforge.net/].