Boost logo

Boost :

From: sfranke2000 (franke_at_[hidden])
Date: 2002-02-06 14:53:42


After having managed to build Boost.Python along with its
test projects, I'm now trying to use it in my project
(large app in PC/Win2k/MSVC6).

I thought it would be as simple as linking libboost_python_static.lib
(prebuilt using jam) to it and include the necessary headers.

Unfortunately not. I'm building libboost_python_static.lib using
BOOST_DEBUG_PYTHON, since I have a debug version of Python.

I get a number of unresolved externals during linking from
conversions.obj and types.obj (see below). What's missing here?

I don't get these errors if I leave out BOOST_DEBUG_PYTHON, but then
the non-debug Python links to msvcrt.dll and the rest of the program
to msvcrtd.dll which leads to a crash somewhere in Python.

BTW I tried also to include the bpl_static DevStudio project in my
workspace, adjust all paths, and use its output lib instead of the
one build with jam -- same result.

So I have to ask again: Is anyone successfully using Boost.Python in
my environment? Maybe you can send me your .dsp file in case you made
one yourself.

I would even happily use a somewhat older version of Boost.Python if
it would only run (right now I have the latest CVS)! This is the
third day I'm struggling with it now and apart from the fact that I'm
slowly despairing my bosses little by little start to put me under
pressure.

 * * *

CreamScript.lib(ScriptingEngine.obj) : error LNK2001: unresolved
external symbol "bool __cdecl boost::python::handle_exception_impl
(class boost::function0<void,struct
boost::empty_function_policy,struct
boost::empty_function_mixin,int>)" (?handle_ex
ception_impl_at_python@boost@@YA_NV?
$function0_at_XUempty_function_policy_at_boost@@Uempty_function_mixin_at_2@H_at_2@
@Z)
bpl_static_pd.lib(types.obj) : error LNK2001: unresolved external
symbol "bool __cdecl boost::python::handle_exception_impl(class
boost::function0<void,struct boost::empty_function_policy,struct
boost::empty_function_mixin,int>)" (?handle_exception_
impl_at_python@boost@@YA_NV?
$function0_at_XUempty_function_policy_at_boost@@Uempty_function_mixin_at_2@H_at_2@
@Z)
bpl_static_pd.lib(module_builder.obj) : error LNK2001: unresolved
external symbol "struct _object * __cdecl
boost::python::expect_non_null(struct _object *)" (?
expect_non_null_at_python@boost@@YAPAU_object@@PAU3@@Z)
bpl_static_pd.lib(functions.obj) : error LNK2001: unresolved external
symbol "struct _object * __cdecl boost::python::expect_non_null
(struct _object *)" (?
expect_non_null_at_python@boost@@YAPAU_object@@PAU3@@Z)
bpl_static_pd.lib(objects.obj) : error LNK2001: unresolved external
symbol "struct _object * __cdecl boost::python::expect_non_null
(struct _object *)" (?
expect_non_null_at_python@boost@@YAPAU_object@@PAU3@@Z)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: char const *
__thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::data(void)const " (__imp_?data@?
$basic_string_at_DU?$char_traits_at_D@std@@V?$allocator_at_D@2@@std@@QBEPBDXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: unsigned int
__thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::size(void)const " (__imp_?size@?
$basic_string_at_DU?$char_traits_at_D@std@@V?$allocator_at_D@2@@std@@QBEIXZ)
bpl_static_pd.lib(conversions.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<cha
r>,class std::allocator<char> >(char const *,unsigned int,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_PBDIAB
V?$allocator_at_D@1@@Z)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "public: __thiscall std::bad_cast::bad_cast(class
bad_cast::bad_cast const &)" (??0bad_cast_at_std@@QAE_at_ABV01@@Z)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static int __cdecl
std::numeric_limits<int>::max(void)" (__imp_?max@?
$numeric_limits_at_H@std@@SAHXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static long __cdecl
std::numeric_limits<long>::max(void)" (__imp_?max@?
$numeric_limits_at_J@std@@SAJXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static unsigned int
__cdecl std::numeric_limits<unsigned int>::max(void)" (__imp_?max@?
$numeric_limits_at_I@std@@SAIXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static unsigned int
__cdecl std::numeric_limits<unsigned int>::min(void)" (__imp_?min@?
$numeric_limits_at_I@std@@SAIXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static short __cdecl
std::numeric_limits<short>::max(void)" (__imp_?max@?
$numeric_limits_at_F@std@@SAFXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static unsigned short
__cdecl std::numeric_limits<unsigned short>::max(void)" (__imp_?max@?
$numeric_limits_at_G@std@@SAGXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static unsigned short
__cdecl std::numeric_limits<unsigned short>::min(void)" (__imp_?min@?
$numeric_limits_at_G@std@@SAGXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static unsigned char
__cdecl std::numeric_limits<unsigned char>::max(void)" (__imp_?max@?
$numeric_limits_at_E@std@@SAEXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static unsigned char
__cdecl std::numeric_limits<unsigned char>::min(void)" (__imp_?min@?
$numeric_limits_at_E@std@@SAEXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static signed char
__cdecl std::numeric_limits<signed char>::max(void)" (__imp_?max@?
$numeric_limits_at_C@std@@SACXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static unsigned long
__cdecl std::numeric_limits<unsigned long>::max(void)" (__imp_?max@?
$numeric_limits_at_K@std@@SAKXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static unsigned long
__cdecl std::numeric_limits<unsigned long>::min(void)" (__imp_?min@?
$numeric_limits_at_K@std@@SAKXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "protected: virtual void __thiscall
std::bad_cast::_Doraise(void)const " (?_Doraise_at_bad_cast_at_std@@MBEXXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: __thiscall
std::bad_cast::bad_cast(char const *)" (__imp_??
0bad_cast_at_std@@QAE_at_PBD@Z)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: virtual __thiscall
std::bad_cast::~bad_cast(void)" (__imp_??1bad_cast_at_std@@UAE_at_XZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: __thiscall
std::bad_cast::bad_cast(class bad_cast::bad_cast const &)" (__imp_??
0bad_cast_at_std@@QAE_at_ABV01@@Z)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static int __cdecl
std::numeric_limits<int>::min(void)" (__imp_?min@?
$numeric_limits_at_H@std@@SAHXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static long __cdecl
std::numeric_limits<long>::min(void)" (__imp_?min@?
$numeric_limits_at_J@std@@SAJXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static short __cdecl
std::numeric_limits<short>::min(void)" (__imp_?min@?
$numeric_limits_at_F@std@@SAFXZ)
bpl_static_pd.lib(conversions.obj) : error LNK2001: unresolved
external symbol "__declspec(dllimport) public: static signed char
__cdecl std::numeric_limits<signed char>::min(void)" (__imp_?min@?
$numeric_limits_at_C@std@@SACXZ)
bpl_static_pd.lib(types.obj) : error LNK2001: unresolved external
symbol "public: __thiscall std::runtime_error::runtime_error(class
runtime_error::runtime_error const &)" (??
0runtime_error_at_std@@QAE_at_ABV01@@Z)
bpl_static_pd.lib(types.obj) : error LNK2001: unresolved external
symbol "public: virtual __thiscall std::runtime_error::~runtime_error
(void)" (??1runtime_error_at_std@@UAE_at_XZ)
bpl_static_pd.lib(types.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>,cl
ass std::allocator<char> >(void)" (__imp_??1?$basic_string_at_DU?
$char_traits_at_D@std@@V?$allocator_at_D@2@@std@@QAE_at_XZ)
bpl_static_pd.lib(types.obj) : error LNK2001: unresolved external
symbol "__declspec(dllimport) public: __thiscall
std::runtime_error::runtime_error(class
runtime_error::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > co
nst &)" (__imp_??0runtime_error_at_std@@QAE_at_ABV?$basic_string_at_DU?
$char_traits_at_D@std@@V?$allocator_at_D@2@@1@@Z)
bpl_static_pd.lib(types.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>,cla
ss std::allocator<char> >(char const *,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_PBDABV?$allocator_at_D@1@@Z)
..\..\..\BinaryDebug/CreamScriptT.exe : fatal error LNK1120: 31
unresolved externals


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