我试图为Python创建C++扩展。我的C++代码依赖于STLPAT5.5.0。我已经编译好了boost.pythonstdlib=stlport。这发生在我的编译器microsoftvisualstudio2005中。在
但是当我试图编译我的测试项目时,我一直得到以下链接错误。在
stdafx.h包含:
// STL
#include <string>
#include <fstream>
#include <sstream>
#include <vector>
#include <iostream>
using namespace std;
// Boost
#include <boost/shared_ptr.hpp>
#include <boost/algorithm/string.hpp>
#define BOOST_PYTHON_STATIC_LIB
在测试项目.cpp: #包括“stdafx.h” #包括“TestProject.h”
^{pr2}$最重要的是,以下链接错误会导致: 错误2错误LNK2019:未解析的外部符号“class boost::python::api::object UuCDECL boost::python::objects::function_object(struct boost::python::objects::py_function const,struct stlpd_std::pair const&;)”(?函数\u object@objects@python@boost@YA?AVobject@api@23@abuby_函数@123@ABU?$pair@PBUkeyword@detail@python@boost@PBU1234@stlpd\u std@@@Z)在函数“class boost::python::api::object u cdecl boost::python::detail::make_function_aux,类stlpd_std::allocator>;(u thiscall World::*)(void),struct boost::python::default_call_policies,struct boost::mpl::vector2,类stlpd_std::allocator>;,struct World&;&&stl&mpl;struct&mpl;&stl&mpl;struct&mpl;&stl&mpl;struct&mpl;&mpl结构;调用或调用;stl&pd;struct;&mpl;struct;&mpl;struct;&mpl;struct;&mpl;struct;&mpl;struct;&mpl;struct;&mpl;struct;&mpl&stl;>;调用;stl&mpl;struct;&mpl&stl;struct;&mpl>;&mpl&stl;>;调用;stl&mpl&mpl;struct;&mpl&stl;struct;&mpl&stl&;0>;)“(??$make\u function\u aux@P8World@AE?AV?$basic_字符串@DV?$char\u traits@D@stlpd\u std@V?$allocator@D@2@stlpd@U std@XZUdefault\U调用策略@python@boost@U?$vector2@V?$basic_字符串@DV?$char\u traits@D@stlpd\u std@V?$分配器@D@2@@@stlpd\U std@@@AAUWorld@@@mpl@6@U?$int@$0A@@86@@详细信息@python@boost@YA?AVobject@api@12@P8World@AE?AV?$basic_字符串@DV?$char\u traits@D@stlpd\u std@V?$allocator@D@2@stlpd_std@XZABUdefault_调用策略@12@ABU?$vector2@V?$basic_字符串@DV?$char\u traits@D@stlpd\u std@V?$allocator@D@2@stlpd\u std@AAUWorld@@@mpl@2@ABU?$pair@PBUkeyword@detail@python@boost@PBU1234@7@U?$int@$0A@@mpl@2@@Z) 测试项目.obj在
如果我没记错的话,boostpython库要求您提前构建它,以便使用它的项目能够链接到它。你已经做了吗?在
相关问题 更多 >
编程相关推荐