gpt4 book ai didi

linux - 为什么添加 "-Wl,-static -lmy_static_lib"会破坏库搜索路径?

转载 作者:太空宇宙 更新时间:2023-11-04 12:02:41 24 4
gpt4 key购买 nike

我有一个使用多个 .so 库进行链接的构建。我现在想向应用程序添加一个静态库,所以我将以下内容附加(在命令行编译器选项的末尾)到 g++ 编译行:

-Wl,-static -lmy_static_lib

这会破坏我的构建并出现以下错误:

usr/bin/ld: cannot find -lgcc_s

我尝试了几种方法,例如重新排列 -l 库,将静态选项放在第一个和最后一个,为 libgcc_s.so 的路径提供 -L 等。

有人建议如何在不破坏现有构建的情况下将该静态库添加到我的构建中吗?顺便说一句:这是在 Ubuntu 16.04 上,g++ 版本 5.4.0

谢谢,-安德烈斯

最佳答案

您的命令指示编译器将“-static”传递给链接器——这意味着创建一个静态可执行文件。您可能正在寻找的是 -Wl,-Bstatic ,这意味着选择此语句之后的库的静态版本。请注意,仅当有两个版本(静态和共享)可用时才需要这样做。如果您的库只有静态版本的库,则无需 -Wl,-Bstatic 语句即可选择该库。

关于linux - 为什么添加 "-Wl,-static -lmy_static_lib"会破坏库搜索路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51805994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com