鉴于C ++ / GNU工具链,解决链接器错误的好方法或工具或策略是什么?
答案 0 :(得分:2)
不确定您的意思,但如果您正在谈论隐秘的链接符号,如:
mylib.so:未定义的符号:_ZN5CandyD2Ev
你可以使用c ++ filt为你做一些令人费解的事。
c ++ filt _ZN5CandyD2Ev
将返回Candy :: ~Candy(),因此不知何故,Candy的析构函数没有被链接。
答案 1 :(得分:1)
第一件事就是RTFM。不,严肃地说,阅读文档。
如果您不想这样做,请尝试搜索出现的错误。
以下是一些需要记住的事项:“缺失”符号通常表示您没有包含相应的源或库; “缺失”符号有时表示您正在尝试链接使用不同的修改约定(或不同的编译器)创建的库;确保在适当的时候有外部“C”;宣告和定义不是一回事;如果您的编译器不支持“导出”,请确保在实例化对象时可以使用模板代码。
答案 2 :(得分:1)
答案 3 :(得分:0)
查看报告有问题的符号名称。