连接后符号如何变得不确定?

时间:2018-04-12 18:16:18

标签: c++ linux gcc ldd

我在Linux上遇到了一个奇怪的构建问题,并且想知道这是怎么发生的,因为它似乎不可能。

我的项目是一个静态库'libMyLib.a',由一个源文件'MyClass.cpp'组成。它是用CMake和gcc工具链构建的。

使用'nm',我确定'MyClass.cpp.o'包含'MyClass'符号(即根据'nm'将其“定义为'V')。使用'ar',我确定'libMyLib.a'包含'MyClass.cpp.o'。

但是根据'nm','libCyLib.a'中的符号'MyClass'是'undefined'为'U'。它如何包含目标文件,但该目标文件中的符号是未定义的?

0 个答案:

没有答案