Boost logo

Boost :

From: sfranke2000 (franke_at_[hidden])
Date: 2002-02-06 16:27:18


During the last hour I've build a release version of our app
containing Boost.Python. I hadn't done this before since it
required a lot of configuration changes - I had planned to use
Python only in our debug version.

And....... it works! Finally!

So the problem with the unresolved external seems to appear
in only when using BOOST_DEBUG_PYTHON to compile the bp lib.

But why? I see that BOOST_DEBUG_PYTHON is only used in
wrap_python.hpp to switch the python version. How can this
affect the compilation of conversions.obj and types.obj?

Stefan

--- In boost_at_y..., "sfranke2000" <franke_at_a...> wrote:
> 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