linker - g++链接器无法识别-Bstatic

标签 linker g++

我的问题是this question的扩展

我想链接2个库-foobar首选静态变量foo和动态变量bar。如果我用

g++ -static -lfoo -lbar

它尝试为foo和bar查找静态存档。当我将命令更改为
g++ -Wl,-Bstatic -lfoo -Wl,-Bdynamic -lbar -Wl,--as-needed

根据上述SO问题,这是我得到的错误:
ld: unknown option: -Bstatic

更新:
我正在使用OSX,如果有什么不同

最佳答案

我们在这里处理GNU链接器吗?您能告诉我们“ld -v”的输出吗?

编辑:看起来不像GNU的ld,所以这就是为什么-Bstatic选项无法识别的原因。苹果的ld似乎不太支持混合静态库和动态库。看到这个:Mixed static and dynamic link on Mac OS

关于linker - g++链接器无法识别-Bstatic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8910908/

相关文章:

c - 将 C 文件中的符号导入链接描述文件

c++ - 从具有静态结构的基类派生

swift - 更改项目名称后,Apple Mach-O 链接器错误

c++ - OpenCV 3.4.3 中对 `cv::String::deallocate()' 错误的 undefined reference

c++ - Linux (CentOS) 中 g++ 的/MT (VC++) 等效开关是什么?

C++11 具有与不同版本的 GCC 的兼容性

android - NDK r16b 独立工具链错误 : "/usr/bin/ld: this linker was not configured to use sysroots"

c++ - 如何通过 autoconf/automake 对 boost 库/ header 包含问题进行故障排除?

c++ - 使用 .h 扩展名

c++ -/usr/bin/ld : crtbegin. o: 没有那个文件: 没有那个文件或目录