编译错误链接dyld符号

时间:2013-12-26 10:32:10

标签: c++ compilation linker asterisk asteriskami

我回到了c ++,但我正在使用macosx maverick进行项目我必须使用外部库,这是 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

我在谷歌搜索3天他们说它可能是代码中的问题(我怀疑它)或者它在编译期间主要是错误链接。 我不知道它是如何无法正确链接的,因为它在lib的编译时间和我的小主要测试中是正常的:/

感谢您的帮助。 祝你有愉快的一天

1 个答案:

答案 0 :(得分:0)

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