OSX 10.7.4 w / XCode 4.4.1& GCC(问题与编译直接C / C ++)

时间:2012-08-21 02:25:30

标签: xcode macos gcc

我遇到的问题是gcc(和系列)似乎没有正确设置。我有一台10.7.4机器,我刚刚安装了Xcode(来自应用程序商店)。我之前没有在这台机器上进行过任何开发。

在Xcode中工作似乎工作正常。我可以构建和编译没有问题。但是,尝试执行gcc命令行失败。

首先,我的gcc不在我的路上......没什么大不了的。我找到它然后跑:

/Applications/Xcode.app/Contents/Developer/usr/bin/gcc -dynamiclib -fno-common -o s.dylib s.c

(我正在研究一些带有某些功能的lib ...)。无论如何,它失败了。

s.c:1:19: error: stdio.h: No such file or directory
s.c:2:20: error: stdlib.h: No such file or directory
s.c:3:20: error: string.h: No such file or directory

惊喜!哈哈,我在机器上搜索了stdio.h,我无法在任何地方找到它。由于我已经退出OSX游戏了一段时间,我假设我错过了一些东西 -

基本上我希望能够继续使用Xcode,但我希望能够在命令行上构建C / C ++ / etc,并将所有依赖项(.h)放在正确的位置。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

从命令行运行编译器有两种主要方法:命令行工具包和xcrun。

xcrun特别好,如果您偶尔需要这个。只需在开始时粘贴“xcrun”,就像你使用sudo一样:

xcrun gcc -dynamiclib -fno-common -o s.dylib s.c

这将找到正确的gcc版本并设置所需的目录等。您可以使用--sdk指定特定的SDK。

如果您经常这样做,请下载并安装命令行工具包(Xcode> Open Developer Tool>更多工具......;它也可以在首选项>下载中使用)。这将在/ usr。

中安装所有内容的完整副本

答案 1 :(得分:0)

如果使用10.8,xcrun可能还不够。 查看clang文档,我发现您需要包含系统根目录,因为您没有标准库中的库但是在Xcode中。

使用:

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

或:

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