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