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

发布于 2024-12-09 05:13:59 字数 148 浏览 0 评论 0原文

我一直在尝试找到正确的 .a 和相关标志,用于在 Linux 下静态链接应用程序或 SO。我知道 -static 存在,但我无法使用它,因为我必须链接到一个特定的 SO。

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

谢谢。

I've been trying to find the proper .a's and related flags for statically linking an app or SO under Linux. I know -static exists, but I can't use it as there's one specific SO I must link to.

To put it another way, I'm looking for the appropriate flags to statically link everything, except for a specific SO.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小ぇ时光︴ 2024-12-16 05:13:59

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

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

上面显示了与 lib1, 链接的命令行>lib2lib3 作为静态库,lib4 作为共享对象库。

At my workplace we use -Bstatic and -Bdynamic but they are options to the linker ld. You can specify them with gcc using the -Wl option.

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

Above shows command line for linking with lib1, lib2, and lib3 as static libraries and lib4 as a shared object library.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文