1

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

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

首先,我的 gcc 不在我的路上……没什么大不了的。我找到它并运行为:

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

(我正在开发一个带有一些功能的库......)。无论如何,它失败了。

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) 放在正确的位置。

有什么想法吗?

4

2 回答 2

2

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

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

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

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

如果您经常这样做,请下载并安装命令行工具包(Xcode>Open Developer Tool>More Tools...;它也可能在 Preferences>Downloads 中可用)。这会在 /usr 中安装所有内容的完整副本。

于 2012-08-21T03:02:42.127 回答
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
于 2013-11-09T07:41:47.060 回答