我有一个与几个库链接的软件。它们都存在于动态(.so)和静态(.a)版本中。默认情况下,当使用g ++时,它会选择库的动态版本,这对我来说很好。
然而,其中一个绝对需要静态链接。我想过使用 -static 但是它为所有这些使用静态版本,这不是我想要的。
如何指定库X必须静态链接,而其他库继续链接到库的共享版本?
答案 0 :(得分:9)
g ++ -o foo(foo-objects)-Wl,-Bstatic -lmustbestatic -Wl,-Bdynamic -lother-lib