Version 6 (modified by 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.