wiki:MussaglBuildWindows

Version 6 (modified by king, 18 years ago) ( diff )

--

Buidling Mussa on Windows

Building Mussa on Windows takes a bit of effort, which is why we provide pre-built binary installers. This section contains additional Windows specific information about building Mussa in windows.

Note: More information on building Mussa, which is not windows specific is available on the MussaglBuild page.

Qt & MinGW

Qt4 on windows requires the MinGW compiler. Thankfully the Qt installer will offer to install it for you. The CMake scripts do assume that MinGW and boost are being installed into the default locations of C:\MinGW and C:\Boost. If you install them elsewhere you will need to adjust several CMake variables.

Environmental Variables

You'll also probably want to put MinGW, CMake, and darcs on your system path. How To Manage Environment Variables in Windows XP

Boost Libraries

For some reason (haven't bothered to look into the details yet), boost builds some of the libraries with .lib, but mingw looks for .a, so, it's required to copy/rename a few libraries to have the .a extension. Below is a list of command prompt commands to make copies of the files needed by Mussa.

copy C:\Boost\lib\libboost_filesystem-mgw-s.lib C:\Boost\lib\libboost_filesystem-mgw-s.a
copy C:\Boost\lib\libboost_program_options-mgw-s.lib C:\Boost\lib\libboost_program_options-mgw-s.a
copy C:\Boost\lib\libboost_serialization-mgw.lib C:\Boost\lib\libboost_serialization-mgw.a
copy C:\Boost\lib\libboost_unit_test_framework-mgw-s.lib C:\Boost\lib\libboost_unit_test_framework-mgw-s.a

Python Libraries

Which ever version of Python you used when building boost is the version you need to link against. I got the following error when I accidentally tried to build Mussagl while trying to link against Python 2.5:

Linking CXX executable mussagl.exe
CMakeFiles/mussagl.dir/qui/mussagl.obj(.text+0xa56): In function `main':
C:/proj/mussa/qui/mussagl.cpp:102: undefined reference to `_imp__PyErr_Print'
CMakeFiles/mussagl.dir/qui/mussagl.obj(.text$_ZN5boost6python3api6objectC2Ev[boo
st::python::api::object::object()]+0x7): In function `ZN5boost6python6detail11up
cast_implI7_objectS3_EEPT0_PT_S5_':
C:/Boost/include/boost-1_33_1/boost/python/cast.hpp: undefined reference to `_im
p___Py_NoneStruct'

I had built boost with Python 2.4. We haven't tested building Mussagl against Python 2.5, so we don't know if it works yet. Python 2.4 does work.

Note: See TracWiki for help on using the wiki.