导入pybind11绑定时未定义符号:_ZN3a13A

Arm*_*irn 3 cmake ipython pybind11

我正在尝试为现有的cmake项目创建pybind11绑定。该文件看起来像本教程中的文件。该项目的构建没有错误,但是,当尝试在ipython中导入模块时,出现以下错误:CMakeLists.txt

~/workspace/a/build/pya.cpython-35m-x86_64-linux-gnu.so: undefined symbol: _ZN3a13FooC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

试图解决它:似乎与工具链有关(这个问题看起来很相似)。我已经安装了gcc 6.5.0cmake 3.12.0

Han*_*ant 7

这比必要的答案难解决,混淆了链接器错误消息。使用在线拆分器查看链接器找不到的纯文本符号名称。请确保复制/粘贴真实的乱码。

与错误消息有些相似的有效的整齐的名称是_ZN1a3FooC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE。哪个会解散a::Foo::Foo(const std::string&)

换句话说,您为Foo类声明了一个构造函数,但忘记编写它。相当标准的错误。有关此Q + A中这些链接器错误的更多信息。