在macOS Catalina上安装GCC

7
我正在使用macOS Catalina,尝试按照这里的说明安装GCC: https://solarianprogrammer.com/2019/10/12/compiling-gcc-macos/ 一切似乎都很顺利,直到我尝试配置时出现以下情况:
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

在尝试修复此问题时,我找到了以下内容:

MacOS "configure: error: cannot run C compiled programs"

然而,这个答案需要前往以下目录:

/Library/Developer/CommandLineTools

问题是我在/Library/Developer/中没有CommandLineTools,甚至没有作为隐藏文件。 试图解决这个问题,我找到了这个如何在macOS Catalina上编译GCC?,但是这里没有答案,我没有nix并且不想与它搞乱,因为它似乎与macOS Catalina不太兼容。那么问题是如何运行configure?
3个回答

5

在 MacOS 上安装 GCC

从上面的视频中学习,我使用的是 MacOX 11.1,在安装 GCC 和 G++ 的过程中需要按照以下步骤:

  1. 执行 "brew install gcc" 命令安装,然后通过 "brew info gcc" 检查是否安装成功。
  2. 执行 "cd /usr/local/bin" 命令。
  3. 执行 "ls | grep 'gcc'" 命令,应该能够看到您之前安装的 GCC 版本,例如:gcc-10 或 g++-10。
  4. 执行 "ln -s gcc-10 gcc" 命令,创建一个指向您的 GCC 版本的符号链接。
  5. 关闭终端并重新打开,输入 "gcc -v" 命令,应该能够看到它正在使用 GCC。

如果仍然使用 Clang:

  1. 确保您已注销并重新登录。
  2. 使用 "where gcc" 或 "which gcc" 命令检查您的 GCC 符号链接是否创建成功。
  3. 执行 "echo $PATH" 命令,确保 "/usr/local/bin" 在您的 PATH 变量中出现在 "/usr/bin" 之前。如果没有,请在您的 ~/.zshrc 或 ~/.bashrc 文件中进行更改。

2

首先,您需要安装命令行工具。

$ xcode-select --install

如果您想在终端安装特定的.pkg头文件,则需要执行以下步骤:

$ open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

(您的版本是10.15,因此):

$ open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.15.pkg

完成安装后,您应该拥有编译 GCC 所需的头文件。

1
xcode-select --install 给了我以下信息:xcode-select: error: 命令行工具已经安装,使用“软件更新”来安装更新,但是我已经更新了所有内容。 - user906357
没用,我尝试了xcode-select --install,但结果还是一样。我的Developer目录里仍然只有CoreSimulator、XCTestDevices和Xcode。 - user906357
好的,你可以尝试几件事情。首先是 xcode-select -switch /Applications/Xcode.app 命令,另外还可以从苹果开发者网站下载 命令行工具 .dmg 并手动安装(需要登录)。 - l'L'l
1
好的,我现在已经安装了CommandLineTools,但是Packages目录不在那里。我删除了CommandLineTools并重新安装了它,但仍然是一样的。我猜答案可能在你给苹果的链接中,但我不再拥有开发者帐户。那是我唯一可以获取packages文件夹的地方吗? - user906357
@user906357:创建一个账户是免费的。一旦你创建好了账户,就可以点击我评论中的链接。 - l'L'l
1
我也没有Packages目录。我有/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk。我使用xcode-select --install安装了命令行工具,然后又通过Command_Line_Tools_for_Xcode_11.4.1.dmg安装了一次。安装是“成功”的,但是同样的问题:没有Packages目录。有什么建议吗? - PatrickT

1

可能不是最优雅的答案,但它有效。我能够使用$(xcrun --show-sdk-path)找到所需的头文件,然后将它们全部复制到gcc位置期望它们在/usr/local中的位置。现在一切都正常了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接