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

ImportError:/usr/lib/libboost_python.so.1.54.0:未定义的符号:PyClass_Type

ImportError:/usr/lib/libboost_python.so.1.54.0:未定义的符号:PyClass_Type

好的,我已经找到解决该问题的方法。最简单的选择是通过以下方式进行编译:

g++ testing.cpp -I/usr/include/python3.3m -I/usr/include/boost -lboost_python3 -lpython3.3m -o testing.so -shared -fPIC

以前我使用-lboost_python而不是-lboost_python3 …但是此解决方案不是跨平台的,因此我们可以通过cmake来实现:

cmake_minimum_required(VERSION 2.6)


find_package(Boost 1.54 EXACT required COMPONENTS python3)

INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS} "/usr/include/python3.3m/" )
find_package(PythonLibs)
ADD_LIBRARY(testing SHARED testing.cpp)
TARGET_LINK_LIBRARIES(testing ${Boost_LIBRARIES} ${PythonLibs_LIBRARIES})

当然,“ / usr / include / python3.3m”不会成为所有Linux发行版中pythons include目录的路径。

python 2022/1/1 18:32:50 有578人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

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

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

请先登录

推荐问题


联系我
置顶