从 gcc 4.5 移动到 gcc 4.6,现在它不会链接到编译时未使用的库(即,如果没有从它们导入符号)。
然而,这些库的目的是它们执行静态构造函数,从而使它们在运行时对应用程序可用(注册它们的符号)。
有没有办法强制 gcc 链接到通过 -l 列出的所有库?
看起来您需要-Wl,--no-as-needed
完全禁用它。或者,--no-as-needed -lfoo --as-needed
仅针对libfoo
.
来源:https ://lists.ubuntu.com/archives/ubuntu-devel/2010-November/031991.html