【问题标题】:boost.python undefined symbol issueboost.python 未定义符号问题
【发布时间】:2015-01-06 22:32:34
【问题描述】:

我正在尝试用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 *

任何想法我错过了什么?

干杯,迈克

【问题讨论】:

    标签: c++ boost-python undefined-symbol


    【解决方案1】:

    设置 LD_LIBRARY_PATH 解决了这个问题。

    【讨论】:

    • 你最后把它设置成什么?
    • boost 共享库的位置。但是,现在您可能需要考虑 pybind11。我发现它更容易使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 2019-06-04
    • 2013-09-16
    • 1970-01-01
    相关资源
    最近更新 更多