Boost logo

Boost :

From: sfranke2000 (franke_at_[hidden])
Date: 2002-02-07 13:25:31


--- In boost_at_y..., "David Abrahams" <david.abrahams_at_r...> wrote:
> I think you must be doing something else differently as well. What
I said in
> a previous message about the static and dynamic versions of the
library
> still holds.

I've just switched to using the libboost_python.lib/dll pair and
the my release build works fine. However, what makes me wonder is

a) I'm linking the libboost_python.lib/dll from
  boost\libs\python\build\bin\libboost_python\msvc\debug\runtime-link-
dynamic
to my release build (note that "debug" in the path)

b) If I link the same pair of files to my debug build, the linker
complains about a couple of missing std::string functions (see below,
ScriptingEngine.obj is the file where I use Boost.Python and wrap
my classes).

What does that mean? Do I have to build a 'real' debug version of
libboost_python and how do I do this? And (in case I get this done
and still feel adventurous afterwards) how do I pass the
BOOST_DEBUG_PYTHON switch (or other defines) to the build process?

Thanks,
Stefan

CreamScript.lib(ScriptingEngine.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: __thiscall
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::~basic_string<char,struct std::char_traits<
char>,class std::allocator<char> >(void)" (__imp_??1?$basic_string_at_DU?
$char_traits_at_D@std@@V?$allocator_at_D@2@@std@@QAE_at_XZ)

CreamScript.lib(ScriptingEngine.obj) : error LNK2001: unresolved
external symbol "class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > __cdecl
std::operator+(class std::basic_string<char,struct std::char_traits<ch
ar>,class std::allocator<char> > const &,class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const &)" (??Hstd@@YA?AV?$basic_string_at_DU?
$char_traits_at_D@std@@V?$allocator_at_D@2@@0_at_ABV10@0_at_Z)

CreamScript.lib(ScriptingEngine.obj) : error LNK2001: unresolved
external symbol "class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > __cdecl
std::operator+(char const *,class std::basic_string<char,struct std::c
har_traits<char>,class std::allocator<char> > const &)" (??Hstd@@YA?
AV?$basic_string_at_DU?$char_traits_at_D@std@@V?
$allocator_at_D@2@@0_at_PBDABV10@@Z)

CreamScript.lib(ScriptingEngine.obj) : error LNK2001: unresolved
external symbol "class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > __cdecl
std::operator+(class std::basic_string<char,struct std::char_traits<ch
ar>,class std::allocator<char> > const &,char const *)" (??Hstd@@YA?
AV?$basic_string_at_DU?$char_traits_at_D@std@@V?
$allocator_at_D@2@@0_at_ABV10@PBD_at_Z)
CreamScript.lib(ScriptingEngine.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > & __thiscall std::basic_string<char,struct
std::c
har_traits<char>,class std::allocator<char> >::operator=(class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const &)" (__imp_??4?$basic_string_at_DU?
$char_traits_at_D@std@@V?$allocator_at_D@2@@std@@QAEAAV01_at_ABV01@@Z)
CreamScript.lib(ScriptingEngine.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: __thiscall
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::basic_string<char,struct std::char_traits<c
har>,class std::allocator<char> >(class basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::allocator<char>
const &)" (__imp_??0?$basic_string_at_DU?$char_traits_at_D@std@@V?
$allocator_at_D@2@@std@@QAE_at_ABV?$allocator_at_D@1@@Z)
..\..\..\BinaryDebug/CreamScriptT.exe : fatal error LNK1120: 6
unresolved externals


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk