Compiling boost for Windows Mobile
Hi, I have some libraries of my own - of course using boost(!) - that I would like to use on the Windows Mobile platform. For those libraries that are non-header only, it's not clear to me how to change the platform to compile for. I'm using Microsoft Visual Studio .Net 2005 and so am hoping it should be possible. (Saying this, I fully understand that there may be libraries that don't work too well.) I've looked through the boost documentation and searched on the web/discussion groups, but can't find anything relevant. How does one specify the compiler (I understand the 'vc-8_0' bit, having used boost for many years) and the platform together? Can someone point me in the right direction? Thanks, Colin
Colin Irwin wrote:
Hi, I have some libraries of my own - of course using boost(!) - that I would like to use on the Windows Mobile platform. For those libraries that are non-header only, it's not clear to me how to change the platform to compile for. I'm using Microsoft Visual Studio .Net 2005 and so am hoping it should be possible. (Saying this, I fully understand that there may be libraries that don't work too well.)
I've looked through the boost documentation and searched on the web/discussion groups, but can't find anything relevant. How does one specify the compiler (I understand the 'vc-8_0' bit, having used boost for many years) and the platform together?
Can someone point me in the right direction?
Thanks,
Colin
I side-stepped trying to understand boost Jam by using www.cmake.org CMake can create a Visual Studio project for you, just load the result into Visual Studio and hit 'build' The relevant boost rules ( all build static libraries ) are as follows. You will need to set BOOST to where your boost source tree is and add any additional libraries you need $ more CMakeLists.txt ### boost ### SET (BOOST boost-cvs/boost) include_directories (${BOOST}) ### boost/regex ### FILE(GLOB boost_regex_srcs "${BOOST}/libs/regex/src/*.cpp" ) ADD_LIBRARY( boost_regex STATIC ${boost_regex_srcs} ) ### boost/thread ### FILE(GLOB boost_thread_srcs "${BOOST}/libs/thread/src/*.cpp" ) ADD_LIBRARY( boost_threads STATIC ${boost_thread_srcs} ) ### boost/signals ### FILE(GLOB boost_signals_srcs "${BOOST}/libs/signals/src/*.cpp" ) ADD_LIBRARY( boost_signals STATIC ${boost_signals_srcs} ) ### boost/date_time ### FILE(GLOB boost_dt_srcs "${BOOST}/libs/date_time/src/gregorian/*.cpp" "${BOOST}/libs/date_time/src/posix_time/*.cpp" ) ADD_LIBRARY( boost_date_time STATIC ${boost_dt_srcs} ) ### boost/filesystem ### FILE(GLOB boost_fs_srcs "${BOOST}/libs/filesystem/src/*.cpp" ) ADD_LIBRARY( boost_filesystem STATIC ${boost_fs_srcs} ) ADD_EXECUTABLE( example ${example_srcs} ) TARGET_LINK_LIBRARIES( example boost_threads ) regards, Anthony Pfrunder
You can also use SCons (www.scons.org). I use it in place of Jam, and just use the appropriate headers directly or build libraries (e.g. boost::threads) of the Boost pieces I need. The Boost config headers have the necessary definitions for the various compilers, and there's only occasionally a few extra #defines needed. SCons can also build MS Project files. I use it because I have a lot of F95 code as well that CMake doesn't handle gracefully. I suspect that might be irrelevant for Windows Mobile though.... Damien Anthony P wrote:
Colin Irwin wrote:
Hi, I have some libraries of my own - of course using boost(!) - that I would like to use on the Windows Mobile platform. For those libraries that are non-header only, it's not clear to me how to change the platform to compile for. I'm using Microsoft Visual Studio .Net 2005 and so am hoping it should be possible. (Saying this, I fully understand that there may be libraries that don't work too well.)
I've looked through the boost documentation and searched on the web/discussion groups, but can't find anything relevant. How does one specify the compiler (I understand the 'vc-8_0' bit, having used boost for many years) and the platform together?
Can someone point me in the right direction?
Thanks,
Colin
I side-stepped trying to understand boost Jam by using www.cmake.org CMake can create a Visual Studio project for you, just load the result into Visual Studio and hit 'build'
The relevant boost rules ( all build static libraries ) are as follows. You will need to set BOOST to where your boost source tree is and add any additional libraries you need
$ more CMakeLists.txt
### boost ### SET (BOOST boost-cvs/boost) include_directories (${BOOST})
### boost/regex ### FILE(GLOB boost_regex_srcs "${BOOST}/libs/regex/src/*.cpp" ) ADD_LIBRARY( boost_regex STATIC ${boost_regex_srcs} )
### boost/thread ### FILE(GLOB boost_thread_srcs "${BOOST}/libs/thread/src/*.cpp" ) ADD_LIBRARY( boost_threads STATIC ${boost_thread_srcs} )
### boost/signals ### FILE(GLOB boost_signals_srcs "${BOOST}/libs/signals/src/*.cpp" ) ADD_LIBRARY( boost_signals STATIC ${boost_signals_srcs} )
### boost/date_time ### FILE(GLOB boost_dt_srcs "${BOOST}/libs/date_time/src/gregorian/*.cpp" "${BOOST}/libs/date_time/src/posix_time/*.cpp" ) ADD_LIBRARY( boost_date_time STATIC ${boost_dt_srcs} )
### boost/filesystem ### FILE(GLOB boost_fs_srcs "${BOOST}/libs/filesystem/src/*.cpp" ) ADD_LIBRARY( boost_filesystem STATIC ${boost_fs_srcs} )
ADD_EXECUTABLE( example ${example_srcs} ) TARGET_LINK_LIBRARIES( example boost_threads )
regards,
Anthony Pfrunder
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (3)
-
Anthony P
-
Colin Irwin
-
Damien