您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

需要有关Boost.Python入门的帮助

需要有关Boost.Python入门的帮助

发生此特定链接错误时,通常是由于应用程序是针对一个版本的Python(例如Python 3.x头文件boost_python)构建的,而库是针对另一个版本(如2.x)构建的结果。

在中boost/python/module_init.hpp,init_module针对Python 3.x构建时,该函数具有以下签名:

PyObject* boost::python::detail::init_module(PyModuleDef&, void(*)());

和针对Python 2.x构建时的以下签名:

PyObject* boost::python::detail::init_module(char const* name, void(*)());

由于可以在可以看到的实施,不仅功能之一将出现在Boost.Python库,。因此,假设已经链接了Boost.Python库,并且链接器仅抱怨无法解析3.xinit_module函数,那么很有可能是针对Python 2.x构建了Boost.Python库。版本,而应用程序代码是针对Python 3.x头文件构建的。您可以通过转储Boost.Python库的符号并检查init_module签名来验证这一点。

解决此问题,请使用与构建Boost.Python相同的Python版本构建应用程序。在这种情况下,请执行以下任一操作:

python 2022/1/1 18:26:25 有573人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶