MacOS编译自Mavericks Lion兼容的可执行文件

时间:2014-02-10 12:02:51

标签: c macos clang std

由于我更新了Mavericks我的C应用程序,在我的机器上用clang编译,无法在Lion机器上执行(是的,有些人没有更新)。它抛出

  

分段错误:11错误

我读过有关stdlib选项in this thread但它似乎只适用于clang ++而不适用于普通的clang。铿锵有类似的选择吗?我在谷歌搜索了--stdlib=libstdc,但所有搜索结果都是--stdlib=libstdc++

2 个答案:

答案 0 :(得分:3)

要为OS X 10.8(Lion)编译应用程序,您必须设置“部署目标”。 clang的相应命令行选项是

-mmacosx-version-min=10.8

您可能还希望将SDK设置为10.8,以避免使用仅在10.9中可用的库函数:

-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk

答案 1 :(得分:0)

我不确定问题的意图,但Lion实际上是10.7, Mountain Lion 是10.8。显然,如果你的目标是Lion(10.7),你不会想要将部署目标设置为10.8。在这方面,先前的评论和回答都是相互矛盾的。

*注意:我无法对他们发表评论,因为我没有足够的代表!