[C++-sig] MSVC++ boost python question

Vin Jovanovic fractal97 at hotmail.com
Thu Sep 8 02:38:35 CEST 2005


I built boost python with bjam (with all kind of options static dynamic 
single etc) and I am trying to use the libboost_python*.lib in my vc-7_1 
project to produce getting_started1.dll which I can load into Python so that 
I would not need boost_python.dll.  But no combination of libraries works.  
I am getting linking errors bellow ...  Is there a way around this?

Linking...
LINK : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' 
specification
msvcprt.lib(MSVCP71.dll) : error LNK2005: "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)" 
(??1?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at XZ) 
already defined in getting_started1.obj
msvcprt.lib(MSVCP71.dll) : error LNK2005: "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> >(class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > const &)" 
(??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at ABV01@@Z) 
already defined in libcpmtd.lib(string.obj)
msvcprt.lib(MSVCP71.dll) : error LNK2005: "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> >(char const *)" 
(??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at PBD@Z) 
already defined in getting_started1.obj
msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: unsigned int __thiscall 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> >::max_size(void)const " 
(?max_size@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEIXZ) 
already defined in getting_started1.obj
msvcprt.lib(MSVCP71.dll) : error LNK2005: "public: class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > & __thiscall std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> >::erase(unsigned 
int,unsigned int)" 
(?erase@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at II@Z) 
already defined in getting_started1.obj
MSVCRT.lib(MSVCR71.dll) : error LNK2005: "public: __thiscall 
bad_cast::bad_cast(char const *)" (??0bad_cast@@QAE at PBD@Z) already defined 
in LIBCMT.lib(stdexcpt.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: "public: int __thiscall 
type_info::operator==(class type_info const &)const " 
(??8type_info@@QBEHABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: "public: char const * __thiscall 
type_info::name(void)const " (?name at type_info@@QBEPBDXZ) already defined in 
LIBCMT.lib(typname.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: "public: virtual __thiscall 
exception::~exception(void)" (??1exception@@UAE at XZ) already defined in 
LIBCMT.lib(stdexcpt.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: "public: __thiscall 
exception::exception(void)" (??0exception@@QAE at XZ) already defined in 
LIBCMT.lib(stdexcpt.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: "public: __thiscall 
exception::exception(class exception const &)" (??0exception@@QAE at ABV0@@Z) 
already defined in LIBCMT.lib(stdexcpt.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _memmove already defined in 
LIBCMT.lib(memmove.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: "public: int __thiscall 
type_info::before(class type_info const &)const " 
(?before at type_info@@QBEHABV1@@Z) already defined in LIBCMT.lib(typinfo.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: "public: virtual __thiscall 
bad_cast::~bad_cast(void)" (??1bad_cast@@UAE at XZ) already defined in 
LIBCMT.lib(stdexcpt.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: "public: __thiscall 
bad_cast::bad_cast(class bad_cast const &)" (??0bad_cast@@QAE at ABV0@@Z) 
already defined in LIBCMT.lib(stdexcpt.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: "public: __thiscall 
exception::exception(char const * const &)" (??0exception@@QAE at ABQBD@Z) 
already defined in LIBCMT.lib(stdexcpt.obj)
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall 
type_info::type_info(class type_info const &)" (??0type_info@@AAE at ABV0@@Z) 
already defined in LIBCMT.lib(typinfo.obj)
MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & 
__thiscall type_info::operator=(class type_info const &)" 
(??4type_info@@AAEAAV0 at ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj)
msvcprt.lib(MSVCP71.dll) : warning LNK4006: "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)" 
(??1?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at XZ) 
already defined in getting_started1.obj; second definition ignored
msvcprt.lib(MSVCP71.dll) : warning LNK4006: "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> >(class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > const &)" 
(??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at ABV01@@Z) 
already defined in libcpmtd.lib(string.obj); second definition ignored
msvcprt.lib(MSVCP71.dll) : warning LNK4006: "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> >(char const *)" 
(??0?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at PBD@Z) 
already defined in getting_started1.obj; second definition ignored
msvcprt.lib(MSVCP71.dll) : warning LNK4006: "public: unsigned int __thiscall 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> >::max_size(void)const " 
(?max_size@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QBEIXZ) 
already defined in getting_started1.obj; second definition ignored
msvcprt.lib(MSVCP71.dll) : warning LNK4006: "public: class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > & __thiscall std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> >::erase(unsigned 
int,unsigned int)" 
(?erase@?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAEAAV12 at II@Z) 
already defined in getting_started1.obj; second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: "public: __thiscall 
bad_cast::bad_cast(char const *)" (??0bad_cast@@QAE at PBD@Z) already defined 
in LIBCMT.lib(stdexcpt.obj); second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: "public: int __thiscall 
type_info::operator==(class type_info const &)const " 
(??8type_info@@QBEHABV0@@Z) already defined in LIBCMT.lib(typinfo.obj); 
second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: "public: char const * __thiscall 
type_info::name(void)const " (?name at type_info@@QBEPBDXZ) already defined in 
LIBCMT.lib(typname.obj); second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: "public: virtual __thiscall 
exception::~exception(void)" (??1exception@@UAE at XZ) already defined in 
LIBCMT.lib(stdexcpt.obj); second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: "public: __thiscall 
exception::exception(void)" (??0exception@@QAE at XZ) already defined in 
LIBCMT.lib(stdexcpt.obj); second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: "public: __thiscall 
exception::exception(class exception const &)" (??0exception@@QAE at ABV0@@Z) 
already defined in LIBCMT.lib(stdexcpt.obj); second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: _memmove already defined in 
LIBCMT.lib(memmove.obj); second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: "public: int __thiscall 
type_info::before(class type_info const &)const " 
(?before at type_info@@QBEHABV1@@Z) already defined in LIBCMT.lib(typinfo.obj); 
second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: "public: virtual __thiscall 
bad_cast::~bad_cast(void)" (??1bad_cast@@UAE at XZ) already defined in 
LIBCMT.lib(stdexcpt.obj); second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: "public: __thiscall 
bad_cast::bad_cast(class bad_cast const &)" (??0bad_cast@@QAE at ABV0@@Z) 
already defined in LIBCMT.lib(stdexcpt.obj); second definition ignored
MSVCRT.lib(MSVCR71.dll) : warning LNK4006: "public: __thiscall 
exception::exception(char const * const &)" (??0exception@@QAE at ABQBD@Z) 
already defined in LIBCMT.lib(stdexcpt.obj); second definition ignored
MSVCRT.lib(ti_inst.obj) : warning LNK4006: "private: __thiscall 
type_info::type_info(class type_info const &)" (??0type_info@@AAE at ABV0@@Z) 
already defined in LIBCMT.lib(typinfo.obj); second definition ignored
MSVCRT.lib(ti_inst.obj) : warning LNK4006: "private: class type_info & 
__thiscall type_info::operator=(class type_info const &)" 
(??4type_info@@AAEAAV0 at ABV0@@Z) already defined in LIBCMT.lib(typinfo.obj); 
second definition ignored
   Creating library Debug/getting_started1.lib and object 
Debug/getting_started1.exp
LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other 
libs; use /NODEFAULTLIB:library
getting_started1.obj : warning LNK4217: locally defined symbol 
??0py_function_impl_base at objects@python at boost@@QAE at XZ (public: __thiscall 
boost::python::objects::py_function_impl_base::py_function_impl_base(void)) 
imported in function "public: __thiscall 
boost::python::objects::caller_py_function_impl<struct 
boost::python::detail::caller<class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > 
(__stdcall*)(void),struct boost::python::default_call_policies,struct 
boost::mpl::vector1<class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > > > 
 >::caller_py_function_impl<struct boost::python::detail::caller<class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > (__stdcall*)(void),struct 
boost::python::default_call_policies,struct boost::mpl::vector1<class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > > > >(struct boost::python::detail::caller<class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > (__stdcall*)(void),struct 
boost::python::default_call_policies,struct boost::mpl::vector1<class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > > > const &)" 
(??0?$caller_py_function_impl at U?$caller at P6G?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@XZUdefault_call_policies at python@boost@@U?$vector1 at V?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@mpl at 5@@detail at python@boost@@@objects at python@boost@@QAE at ABU?$caller at P6G?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@XZUdefault_call_policies at python@boost@@U?$vector1 at V?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@mpl at 5@@detail at 23@@Z)
getting_started1.obj : warning LNK4217: locally defined symbol 
??1py_function_impl_base at objects@python at boost@@UAE at XZ (public: virtual 
__thiscall 
boost::python::objects::py_function_impl_base::~py_function_impl_base(void)) 
imported in function "public: virtual __thiscall 
boost::python::objects::caller_py_function_impl<struct 
boost::python::detail::caller<class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > 
(__stdcall*)(void),struct boost::python::default_call_policies,struct 
boost::mpl::vector1<class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > > > 
 >::~caller_py_function_impl<struct boost::python::detail::caller<class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > (__stdcall*)(void),struct 
boost::python::default_call_policies,struct boost::mpl::vector1<class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > > > >(void)" 
(??1?$caller_py_function_impl at U?$caller at P6G?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@XZUdefault_call_policies at python@boost@@U?$vector1 at V?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@mpl at 5@@detail at python@boost@@@objects at python@boost@@UAE at XZ)
getting_started1.obj : error LNK2019: unresolved external symbol 
"__declspec(dllimport) void __stdcall 
boost::python::detail::init_module(char const *,void (__stdcall*)(void))" 
(__imp_?init_module at detail@python at boost@@YGXPBDP6GXXZ at Z) referenced in 
function _initgetting_started1 at 0
getting_started1.obj : error LNK2019: unresolved external symbol 
"__declspec(dllimport) void __stdcall 
boost::python::detail::scope_setattr_doc(char const *,class 
boost::python::api::object const &,char const *)" 
(__imp_?scope_setattr_doc at detail@python at boost@@YGXPBDABVobject at api@23 at 0@Z) 
referenced in function "void __stdcall boost::python::def<class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > (__stdcall*)(void)>(char const *,class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > (__stdcall*)(void))" 
(??$def at P6G?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@XZ at python@boost@@YGXPBDP6G?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@XZ at Z)
getting_started1.obj : error LNK2019: unresolved external symbol 
"__declspec(dllimport) class boost::python::api::object __stdcall 
boost::python::objects::function_object(struct 
boost::python::objects::py_function const &)" 
(__imp_?function_object at objects@python at boost@@YG?AVobject at api@23 at ABUpy_function@123@@Z) 
referenced in function "class boost::python::api::object __stdcall 
boost::python::detail::make_function_aux<class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > 
(__stdcall*)(void),struct boost::python::default_call_policies,struct 
boost::mpl::vector1<class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > > >(class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > (__stdcall*)(void),struct 
boost::python::default_call_policies const &,struct 
boost::mpl::vector1<class std::basic_string<char,struct 
std::char_traits<char>,class std::allocator<char> > > const &)" 
(??$make_function_aux at P6G?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@XZUdefault_call_policies at python@boost@@U?$vector1 at V?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@mpl at 5@@detail at python@boost@@YG?AVobject at api@12 at P6G?AV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@XZABUdefault_call_policies at 12@ABU?$vector1 at V?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@mpl at 2@@Z)
getting_started1.obj : error LNK2019: unresolved external symbol 
__imp__PyString_FromStringAndSize at 8 referenced in function "public: struct 
_object * __thiscall boost::python::to_python_value<class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > const &>::operator()(class 
std::basic_string<char,struct std::char_traits<char>,class 
std::allocator<char> > const &)const " 
(??R?$to_python_value at ABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@python at boost@@QBEPAU_object@@ABV?$basic_string at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@@Z)
getting_started1.obj : error LNK2019: unresolved external symbol 
__imp__PyInt_FromLong at 4 referenced in function "public: struct _object * 
__thiscall boost::python::to_python_value<int const &>::operator()(int const 
&)const " (??R?$to_python_value at ABH@python at boost@@QBEPAU_object@@ABH at Z)
getting_started1.obj : error LNK2019: unresolved external symbol 
"__declspec(dllimport) struct 
boost::python::converter::rvalue_from_python_stage1_data __stdcall 
boost::python::converter::rvalue_from_python_stage1(struct _object *,struct 
boost::python::converter::registration const &)" 
(__imp_?rvalue_from_python_stage1 at converter@python at boost@@YG?AUrvalue_from_python_stage1_data at 123@PAU_object@@ABUregistration at 123@@Z) 
referenced in function "public: __thiscall 
boost::python::converter::arg_rvalue_from_python<int>::arg_rvalue_from_python<int>(struct 
_object *)" 
(??0?$arg_rvalue_from_python at H@converter at python@boost@@QAE at PAU_object@@@Z)
getting_started1.obj : error LNK2019: unresolved external symbol 
"__declspec(dllimport) struct boost::python::converter::registration const & 
__stdcall boost::python::converter::registry::lookup(struct 
boost::python::type_info)" 
(__imp_?lookup at registry@converter at python@boost@@YGABUregistration at 234@Utype_info at 34@@Z) 
referenced in function "struct boost::python::converter::registration const 
& __stdcall boost::python::converter::detail::registry_lookup<int const 
volatile >(int const volatile & (__stdcall*)(void))" 
(??$registry_lookup@$$CDH at detail@converter at python@boost@@YGABUregistration at 123@P6GADHXZ at Z)
Debug/getting_started1.dll : fatal error LNK1120: 7 unresolved externals





More information about the Cplusplus-sig mailing list