【问题标题】:compilation error link dyld Symbol编译错误链接 dyld Symbol
【发布时间】:2014-01-14 00:26:32
【问题描述】:

我回到了 C++ 中,但是我正在使用一个 macosx 特立独行的项目我必须使用一个外部库,它是 https://github.com/augcampos/asterisk-cpp

所以,我已经编译了库并得到了我的.dylib

然后我像这样编译了一个主要测试: g++ -Wall Test.cpp -o teste -L/usr/local/lib/ -I/usr/local/include -lasteriskcpp -lpthread -lboost_system -std=c++0x

但是当我运行我的二进制文件时出现了这个错误

dyld: Symbol not found: __ZTVN11asteriskcpp10ParkActionE
  Referenced from: /usr/local/lib/libasteriskcpp.0.dylib
  Expected in: flat namespace
 in /usr/local/lib/libasteriskcpp.0.dylib
Trace/BPT trap: 5

我在 google 上搜索了 3 天,他们说这可能是代码中的问题(我对此表示怀疑),或者主要是编译期间的错误链接。 我不知道它是如何无法正确链接的,因为它在 lib 的编译期间是可以的,而且我的小主要测试:/

感谢您的帮助。 祝你有美好的一天

【问题讨论】:

  • 我认为这是因为你已经动态链接,所以它只是试图在运行时加载符号。所以我认为这是一个链接器错误,但它只在运行时显示出来。你是如何编译星号-cpp 库的?你用了什么命令等等?
  • 我用的是配置模式,用的是boost,c++0x

标签: c++ compilation linker asterisk asteriskami


【解决方案1】:

您是否使用相同的标志编译asterisk 库?例如。你用std=c++0x 编译它吗?

【讨论】:

    猜你喜欢
    • 2023-03-18
    • 2014-07-27
    • 1970-01-01
    • 2012-08-01
    • 2012-07-11
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多