Boost Interest :
Subject: [Boost-cmake] Cross Compile for Windows CE
Date: 2011-09-15 15:20:45
I need to compile Boost for Windows CE. This is unfortunate, since there are
two things I know nearly nothing about: Boost.Build, and Windows
development. The release notes of 1.47 indicate that it has been
successfully compiled for Windows CE using STLport, but that was using
Boost.Build and for reasons I won't go into here (wrong mailing list), it
didn't work for me. Thankfully, my problems with Boost.Build can be helped
by the existence of the CMake project for Boost (thanks!). Since I don't
know much about Windows, I thought I'd try and use CEgcc on Linux.
I feel like I'm making good progress, but I eventually hit this error:
boost/config/requires_threads.hpp:47:5: error: #error "Compiler threading
support is not turned on. Please set the correct command line options for
threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
-mthreads is part of the C and CXX flags-- the problem is that
BOOST_PLATFORM_CONFIG is not defined by
boost/config/select_platform_config.hpp. What should this be defined to for
Windows CE? I figured it should be boost/config/platform/win32.hpp (which
would then define BOOST_HAS_WINTHREADS, which would solve the above error).
How can the release notes claim this works when select_platform_config.hpp
doesn't seem to handle Windows CE cases? If BOOST_PLATFORM_CONFIG does
indeed need to be boost/config/platform/win32.hpp, then I need to define
either _WIN32, __WIN32__, or WIN32. My first reaction is that none of these
should be used for compiling for CE. I would welcome any ideas!
Note that I would also welcome suggestions on how to compile for Windows CE
using STLport with CMake on Windows. Thank you!