我正在编写 c++ 程序,我想在 Mac OS X 10.6 及更高版本上分发它。问题是当我用 clang 编译程序并且它与 libstdc++ 动态链接时,它会导致旧系统出现问题。
在 gcc 中有一个键 -static-stdc++
但在 clang 中没有。如何将我的程序与 clang 静态链接?
我的主要目标是在 Mac OS X 10.9 上编译二进制文件并能够在早期版本上运行它。也许有不同的方式?
谢谢。
最佳答案
在 Linux 下,此命令有效:
clang --std=c++11 -stdlib=libstdc++ loopy.cpp -o loopy -static -lstdc++
其中 loopy
当然是我的程序的名称。
更新:
看来 Apple strongly discourages static linking所以它表明需要另一种方法。
This answer关于创建向后兼容的 OS X 软件可能对您有用。
关于c++ - 如何使用 clang 将我的 c++ 程序与 osx 上的 libstdc++ 静态链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23471978/