Linker Problems with VC 7.1/ Boost 1.32 / Stlport 4.61

Hi, I've been happily using Boost 1.32 with Visual C++ 7.1 for a few months. Now I'd like to switch to STLPort, but can’t get my project to compile with STLPort due to linker errors (LNK2019 and LNK2001) in every boost library I use (signals, filesystem, thread). First I installed STLPort and to make sure that it is working properly with a dummy (boostless) project. Then I re-compiled boost with the stlport toolset: bjam "-sTOOLS=vc-7_1-stlport" "-sSTLPORT_PATH=C:\Programme\Microsoft Visual Studio .NET 2003\add-ons" "-sSTLPORT_VERSIONS=4.6.1" "-sPYTHON_ROOT=c:/Programme/Python24" install Last but not least, I recompiled my project (multithreaded, static runtime) which is using boost. I got 9 errors such as these: WxNonogram error LNK2001: unresolved external symbol "public: __thiscall boost::signals::detail::signal_base::signal_base(class boost::function2<bool,class boost::any,class boost::any,class _STL::allocator<class boost::function_base> > const &,class boost::any const &)" (??0signal_base@detail@signals@boost@@QAE@ABV?$function2@_NVany@boost@@V12@V?$allocator@Vfunction_base@boost@@@_STL@@@3@ABVany@3@@Z) WxNonogram error LNK2019: unresolved external symbol "bool __cdecl boost::filesystem::native(class _STL::basic_string<char,class _STL::char_traits<char>,class _STL::allocator<char> > const &)" (?native@filesystem@boost@@YA_NABV?$basic_string@DV?$char_traits@D@_STL@@V?$allocator@D@2@@_STL@@@Z) referenced in function "public: virtual bool __thiscall CMyWxApp3_wxstaticApp::OnInit(void)" (?OnInit@CMyWxApp3_wxstaticApp@@UAE_NXZ) I also defined BOOST_LIB_DIAGNOSTIC to see which libraries are linked against to. Strangely enough, it seems to link to the correct libraries as I got messages such as these: "Linking to lib file: libboost_signals-vc71-mt-sgdp-1_32.lib" and it still complains about signals not being resolved after linking. Unfortunately I do not have a clue on how to proceed. Any help would be appreciated. Thanks! :-) - Adrian

I've been happily using Boost 1.32 with Visual C++ 7.1 for a few months. Now I'd like to switch to STLPort, but can’t get my project to compile with STLPort due to linker errors (LNK2019 and LNK2001) in every boost library I use (signals, filesystem, thread).
I'm not sure if this is the issue, but the debug versions of the Boost libraries are built with _STL_DEBUG defined, and you may need to define it in your code as well in order to get things to link. Having said that, you should get a #error if this is the case, so maybe not... John.

Hi John,
I'm not sure if this is the issue, but the debug versions of the Boost libraries are built with _STL_DEBUG defined, and you may need to define it in your code as well in order to get things to link.
Thanks for your prompt reply. I think you meant "#define _STLP_DEBUG 1" as I already defined that. You are right, there is an error ("build options aren't compatible with pre-built libraries") when compiling in debug mode without this definition. Just to make sure, I also tried #define _STL_DEBUG 1, but it does not seem to have any effect. Thanks, Adrian Grigore John Maddock wrote the following on 21.07.2005 14:38:
I've been happily using Boost 1.32 with Visual C++ 7.1 for a few months. Now I'd like to switch to STLPort, but can’t get my project to compile with STLPort due to linker errors (LNK2019 and LNK2001) in every boost library I use (signals, filesystem, thread).
I'm not sure if this is the issue, but the debug versions of the Boost libraries are built with _STL_DEBUG defined, and you may need to define it in your code as well in order to get things to link.
Having said that, you should get a #error if this is the case, so maybe not...
John.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

Unfortunately I have still not found any solution to this problem. If someone else has any idea, please help! :-) Thanks, Adrian John Maddock wrote the following on 21.07.2005 14:38:
I've been happily using Boost 1.32 with Visual C++ 7.1 for a few months. Now I'd like to switch to STLPort, but can’t get my project to compile with STLPort due to linker errors (LNK2019 and LNK2001) in every boost library I use (signals, filesystem, thread).
I'm not sure if this is the issue, but the debug versions of the Boost libraries are built with _STL_DEBUG defined, and you may need to define it in your code as well in order to get things to link.
Having said that, you should get a #error if this is the case, so maybe not...
John.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
participants (2)
-
Adrian Grigore
-
John Maddock