【发布时间】:2010-05-03 21:11:47
【问题描述】:
是否有内置的 linux 实用程序可用于测试新编译的共享库以查找外部未定义引用? Gcc 似乎足够智能,可以检查我自己的二进制文件中未定义的符号,但如果该符号是对另一个库的引用,gcc 不会在链接时检查。相反,当我尝试从另一个程序链接到我的新库时,我只会收到该消息。
当我编译一个不同的项目时,在库中获得未定义的参考消息似乎有点愚蠢,所以我想知道在我构建库时是否可以检查所有内部和外部引用,而不是在我链接到时它。
示例错误:
make -C UnitTests debug
make[1]: Entering directory `~/projects/Foo/UnitTests`
g++ [ tons of objects ] -L../libbar/bin -lbar -o UnitTests
libbar.so: undefined reference to `DoSomethingFromAnotherLibrary`
collect2: ld returned 1 exit status
make[1]: *** [~/projects/Foo/UnitTests] Error 1
【问题讨论】: