
frederic.bron@alcan.com wrote:
I am using boost 1.34.0 I have built the boost libraries from cygwin but for no-cygwin environment (pure win32, independant from cygwin): - I have built bjam with: ./build.bat gcc-nocygwin - I have used bjam like this: path/to/bjam link=static threading=single runtime-link=shared --toolset=gcc-nocygwin --prefix="D:\Softs\boost_msw" --layout=system release install - I then use g++ with -mno-cygwin flag to compile and link
Here is the trouble I get when I link a program that uses regex with the regex library: /cygdrive/d/Softs/boost_msw/lib/libboost_regex.a(static_mutex.o):static_mutex.cpp:(.text+0x1a): r'ef'erence ind'efinie vers << _pthread_mutex_lock >> /cygdrive/d/Softs/boost_msw/lib/libboost_regex.a(static_mutex.o):static_mutex.cpp:(.text+0x54):
I have tried with threading=multi but obtained the same results. Maybe I should build the no-cygwin libraries totally outside cygwin, i.e. with a standalone compiler? Any tricks?
threading=multi is the default, and the cause of the error messages: the regex lib is expecting a pthread lib. Try threading=single, or else build with regular Mingw which I know does work :-) Looks like a configuration issue: we should be using Win32 threads when building with Cygwin and -mno-cygwin. I'll look into that when I get a chance. John.