如何使用clang在osx上使用libstdc ++静态链接我的c ++程序?

时间:2014-05-05 12:03:11

标签: c++ macos clang static-linking libstdc++

我正在编写c ++程序,我想在Mac OS X 10.6及更高版本上发布它。问题是当我使用clang编译程序并且它与libstdc ++动态链接时,它会导致旧系统出现问题。

gcc中有一个键-static-stdc++但是clang中没有人。如何将我的程序与clang静态链接?

我的主要目标是在Mac OS X 10.9上编译二进制文件,并能够在早期版本上运行它。也许有不同的方式?

谢谢。

1 个答案:

答案 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可能对您有用。