【问题标题】:Installing GCC on macOS Catalina在 macOS Catalina 上安装 GCC
【发布时间】:2020-01-30 00:20:22
【问题描述】:

我在 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,甚至没有隐藏文件。试图解决这个问题我发现了这个

How to compile GCC on macOS Catalina?

但现在这里有答案,我没有 nix,也不想弄乱它,因为它似乎与 macOS Catalina 不太兼容。所以问题是如何运行配置?

【问题讨论】:

    标签: macos gcc


    【解决方案1】:

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

    $ 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 编译的头文件。

    【讨论】:

    • xcode-select --install 给我 xcode-select: 错误:命令行工具已安装,使用“软件更新”安装更新,但我已经更新了所有内容。
    • 不走运,我试了又试了 xcode-select --install ,结果还是一样。我的 Developer 目录中仍然只有 CoreSimulator、XCTestDevices 和 Xcode
    • 嗯,您还可以尝试其他一些方法。第一个是xcode-select -switch /Applications/Xcode.app,也可以从Apple Developer 站点尝试downloading the Command-Line tools .dmg 并手动安装(必须登录)。
    • 好的,我现在有 CommandLineTools,但是目录 Packages 不存在。我删除了 CommandLineTools 并重新安装了它,但还是一样。我猜答案可能在您提供给苹果的链接中,但我不再拥有开发者帐户。这是我唯一可以获取包文件夹的地方吗?
    • 我也没有Packages 目录。我有/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk。我使用xcode-select --install 安装了命令行工具,然后又通过Command_Line_Tools_for_Xcode_11.4.1.dmg 安装了命令行工具。安装是“成功的”,但同样的事情:没有Packages 目录。有什么建议吗?
    【解决方案2】:

    Install GCC on MacOS

    从上面的视频学习,我使用 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 版本到 gcc 建立一个符号链接。
    5. 关闭终端,再次打开,输入“gcc -v”,应该可以看到它现在使用gcc了。

    如果仍然使用clang:

    1. 确保您退出并重新登录。
    2. 使用“where gcc”或“which gcc”来检查您的 gcc 符号链接是否创建成功。
    3. “echo $PATH”,确保“/usr/local/bin”显示在 PATH 上的“/usr/bin”之前,如果没有,请在 ~/.zshrc 或 ~/.bashrc 上更改它

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-12-29
        • 1970-01-01
        • 2022-08-24
        • 2020-04-23
        • 2020-02-14
        • 2020-11-30
        • 1970-01-01
        相关资源
        最近更新 更多