我正在尝试使用boost.python编译项目,但是遇到以下问题

undefined symbol:    _ZN5boost6python7objects23register_dynamic_id_auxENS0_9type_infoEPFNSt3__14pairIPvS2_EE

我正在使用cmake构建它
...
# Find necessary packages
find_package( PythonLibs 2.7 REQUIRED )
include_directories( ${PYTHON_INCLUDE_DIRS} )

find_package( Boost COMPONENTS python REQUIRED )
include_directories( ${Boost_INCLUDE_DIR} )

add_library(test_py SHARED ${SOURCE_FILES})

list(APPEND CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
target_link_libraries(test_py lib1)
target_link_libraries(test_py boost_python)
target_link_libraries(test_py python2.7)
set_target_properties(test_py PROPERTIES PREFIX "")

之后,我有一个安装脚本,该脚本将所有文件复制到一个目录test_py中,并带有一个初始 .py文件。


from test_py import *

有什么想法我想念的吗?

干杯,迈克

最佳答案

设置LD_LIBRARY_PATH修复了此问题。

关于c++ - boost.python undefined symbol 问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27808399/

10-11 23:06
查看更多