为什么gcc“--as-needed”标志会导致缺少符号?

时间:2013-04-05 22:59:10

标签: c++ linker

g++ [...] -ldiskcache_i [...] -lDCache  [...]

链接并运行正常,但

g++ [...] -Xlinker --as-needed  -ldiskcache_i [...] -lDCache  [...]

给出一个缺少的符号:

libdiskcache_i.so: undefined reference to `TDCacheFile::Stage(char const*, unsigned int, char const*)'

这两个库都是共享对象。

该符号在-ldiskcache_i中被请求,应该在中解决 -lDCache,就像引入按需标志之前的那样。唯一的 这个方法很有趣的是它是类TDCacheFile的静态方法, 并且调用使用静态属性。

0 个答案:

没有答案