boost.python 未定义的符号问题
boost.python undefined symbol issue
我正在尝试使用 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,带有 init.py 文件
和
from test_py import *
知道我遗漏了什么吗?
干杯,迈克
设置 LD_LIBRARY_PATH 解决了这个问题。
我正在尝试使用 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,带有 init.py 文件
和
from test_py import *
知道我遗漏了什么吗?
干杯,迈克
设置 LD_LIBRARY_PATH 解决了这个问题。