msvc-stlport creates name mangled functions with std:: not _STL::
I can't seem to link with the filesystem lib when built with the following options: rem Get environment right for compiler -- comment out after first run rem "C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT" rem Setup for Boost.Python rem Setup for Boost 'toolset' set STLPORT_PATH=C:\ set STLPORT_4.6_PATH=C:\STLport-4.6 set STLPORT_VERSION=4.6 bin.ntx86\bjam "-sTOOLS=msvc-stlport" "-sBUILD=<stlport-iostream>on" the name mangled function that is exported is ?leaf@path@filesystem@boost@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ but the function that msvc tries to link with is: ?leaf@path@filesystem@boost@@QBE?AV?$basic_string@DV?$char_traits@D@_STL@@V? $allocator@D@2@@_STL@@XZ Two things I've noticed that are a bit wierd are that the boost libs are put in stlport-4.5.3 directory even when built with the options directing it to 4.6. Also stlport has an option to put itself in the std namespace but merely #defines std as _STL so I would have expected the exported function from the boost library to be _STL not std. Any ideas, thanks John
the name mangled function that is exported is ?leaf@path@filesystem@boost@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$ allocator@D@2@@std@@XZ but the function that msvc tries to link with is: ?leaf@path@filesystem@boost@@QBE?AV?$basic_string@DV?$char_traits@D@_STL@@V? $allocator@D@2@@_STL@@XZ Two things I've noticed that are a bit wierd are that the boost libs are put in stlport-4.5.3 directory even when built with the options directing it to 4.6. Also stlport has an option to put itself in the std namespace but merely #defines std as _STL so I would have expected the exported function from the boost library to be _STL not std. Any ideas, ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The msvc-stlport toolset doesn't currently work as advertised - I've posted a bug report on this but can't find a bjam expert to figure out what's wrong. Basically the STLPORT_VERSION macro gets ignored, it does work however if you put <stlport-version>4.6 in your BUILD variable. I'd advise running again with the -d2 option so you can check the command line options actually used. Failing that build it in your IDE - in fact that's probably the easiest option if you can't get bjam to work. John.
participants (2)
-
John Bustard
-
John Maddock