我自己的项目依赖了第三方提供的库,编译能通过,运行时报错,查询是因为我的程序和第三方库的_GLIBCXX_USE_CXX11_ABI配置不同,导致函数符号不一致,没找到对应的接口实现:
undefine symbol: _ZN15MwCompileModule20SigTranslatedFinishedERKNSt7__cxx1112basic_stringlcStllchar_traitslcEsalcEER7Qstringbp7QObjecti
使用 nm -D 外部库查看外部库导出函数列表,与报错信息对比以下,确认有差异后续修改_GLIBCXX_USE_CXX11_ABI的值
修改QT Creator项目的pro文件:
DEFINES += _GLIBCXX_USE_CXX11_ABI=1
或者
DEFINES += _GLIBCXX_USE_CXX11_ABI=0