使用-nostartfiles -nodefaultlibs -nostdlib时g ++静态链接的标志

时间:2011-10-11 20:55:36

标签: gcc g++ static-linking

我一直在努力找到适当的.a和相关标志,用于在Linux下静态链接应用程序或SO。我知道-static存在,但我不能使用它,因为我必须链接到一个特定的SO。

换句话说,我正在寻找适当的标志来静态链接所有内容,除了特定的SO。

感谢。

1 个答案:

答案 0 :(得分:1)

在我的工作场所,我们使用-Bstatic和-Bdynamic,但它们是链接器ld的选项。您可以使用-Wl选项使用gcc指定它们。

g++ -o app -Wl,-Bstatic -llib1 -llib2 -llib3 -Wl,-Bdynamic -llib4 app.o

上面显示了用于链接 lib1 lib2 lib3 作为静态库和 lib4 的命令行共享对象库。