1

我回到了 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 的编译期间它是好的,我的小主要测试:/

谢谢你的帮助。祝你今天过得愉快

4

1 回答 1

0

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

于 2013-12-26T10:58:48.550 回答