如何将共享库与-根据automake的需要链接?

Die*_*Epp 4 linker automake libtool

如何--as-needed使用Automake 链接共享库?当我尝试将标志添加到时LDFLAGS,我看到这样libtool调用:

/bin/bash ../../libtool --mode=link ... -Wl,--as-needed ... dependencies
Run Code Online (Sandbox Code Playgroud)

这样会导致呼叫GCC,如下所示:

gcc -shared ... dependencies ... -Wl,--as-needed ...
Run Code Online (Sandbox Code Playgroud)

但这是错误的顺序。

  • 有没有办法用Libtool做到这一点?

  • 还是有一种使用Automake而不使用Libtool构建共享库的好方法?(过去,由于各种其他原因,我对Libtool感到沮丧...)

似乎Debian族人也遇到了这个问题(错误报告),但我希望能够为我的项目解决此问题,而不是弄乱我的系统(除非我误解了此解决方案)。

小智 5

您可以通过在项目源代码中修改ltmain.sh脚本来仅针对您的项目进行修复。您甚至可以将其添加为自动工具引导的一部分,例如:https : //meego.gitorious.org/tracker/tracker/commit/cf2ca3414aeba146dceacc5ecd84765f4c08a06f