我有一个与几个库链接的软件。它们都存在于动态(.so)和静态(.a)版本中。默认情况下,当使用g ++时,它会选择库的动态版本,这对我来说很好。

然而,其中一个绝对需要静态链接。我想过使用 -static 但是它为所有这些使用静态版本,这不是我想要的。

如何指定库X必须静态链接,而其他库继续链接到库的共享版本?

有帮助吗?

解决方案

g ++ -o foo(foo-objects)-Wl,-Bstatic -lmustbestatic -Wl,-Bdynamic -lother-lib

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top