Linking problems with 'scoped_static_mutex_lock' from regex library?!
Hi all, I have successfully build boost 1.33.1 on solaris 2.8 with SunStudio 10 with stlport and try now to build my application what was running with boost 1.31 on windows. I have had no problems during compiling my stuff all seems to be fine, but when I am linking I get some unreferenced symbols in my code what I didn't know, because I don't know, that I am using it. So the linker said, that he can't find 'boost::scoped_static_mutex_lock::~scoped_static_mutex_lock()' and 'boost::scoped_static_mutex_lock::scoped_static_mutex_loc(boost::static_mutex&,bool) '. After a littele bit of investigation I found the definition of this class in a Header 'regex/pending/static_mutex.hpp'. I link actualy the libraries 'libboost_regex-sw-1_33_1', 'libboost_thread-sw-mt-1_33_1' and 'libboost_date_time-sw-1_33_1' to my application have I to link something more or do I have to make something else to get these build running! Thanks for any help! regards Arno
I have successfully build boost 1.33.1 on solaris 2.8 with SunStudio 10 with stlport and try now to build my application what was running with boost 1.31 on windows. I have had no problems during compiling my stuff all seems to be fine, but when I am linking I get some unreferenced symbols in my code what I didn't know, because I don't know, that I am using it. So the linker said, that he can't find 'boost::scoped_static_mutex_lock::~scoped_static_mutex_lock()' and 'boost::scoped_static_mutex_lock::scoped_static_mutex_loc(boost::static_mutex&,bool) '. After a littele bit of investigation I found the definition of this class in a Header 'regex/pending/static_mutex.hpp'. I link actualy the libraries 'libboost_regex-sw-1_33_1', 'libboost_thread-sw-mt-1_33_1' and 'libboost_date_time-sw-1_33_1' to my application have I to link something more or do I have to make something else to get these build running!
You need to ensure that the Boost libraries you link against are built the same way as your application: in this case that means linking against the thread safe versions of the libraries, so 'libboost_thread-sw-mt-1_33_1' looks right but 'libboost_regex-sw-1_33_1' should probably be 'libboost_regex-sw-mt-1_33_1' and likewise 'libboost_date_time-sw-1_33_1' should probably be 'libboost_date_time-sw-mt-1_33_1'. John.
participants (2)
-
Arno
-
John Maddock