【问题标题】:Gcc not working on MacOS 10.15.4 Catalina?Gcc 无法在 MacOS 10.15.4 Catalina 上运行?
【发布时间】:2020-04-23 19:56:26
【问题描述】:

我想再次开始编写 c++ 代码,但我发现 gcc 的自制版本无法编译任何 c++、c 甚至 fortran 程序。

例如,我尝试编译以下简单的 hello_world.cpp 程序:

#include<iostream>

int main()
{
    std::cout << "Hello World!" << std::endl;
    return 0;
}

使用

g++-9 hello_world.cpp

我得到的输出是:

FATAL:/usr/local/Cellar/cctools/855/bin/../libexec/as/x86_64/as: I don't understand 'm' flag!

我尝试安装 gcc@8gcc@7 并进行编译,但仍然收到相同的消息。

此外,当我尝试使用gcc-9 编译hello_world.c 程序和使用gfortran-9 编译hello_world.f90 程序时,会显示相同的错误消息。

程序*.c*.cpp 分别使用clangclang++ 编译器编译得很好。我还了解到as 是一个汇编程序,gcc 可以使用标志gcc -S 输出*.s 文件,但我仍然不明白错误消息。

我想我在发帖之前已经用尽了我的 C++ 知识和互联网搜索,所以提前谢谢你!

【问题讨论】:

  • this 回答你的问题了吗?
  • 嗨,不,我今天早些时候在寻找解决方案时看到了该线程,但它没有帮助。我什至不知道 MacPorts 是什么,而且我的机器上没有端口命令。
  • 它在我的 Mac 上编译并运行良好。我会尝试 brew rm gcc 并删除所有其他不必要的版本,然后使用 brew install gcc 重新安装并重试。
  • 我也试过这个(brew rm gcc),但编译器无法工作。有没有办法删除所有 brew 并重新安装?似乎问题在于我以前从未听说过的汇编程序as

标签: c++ homebrew macos-catalina gcc-warning gcc9


【解决方案1】:

我最终使用

重新安装了所有软件包
brew list | xargs brew reinstall

这解决了问题!

【讨论】:

    【解决方案2】:

    对于偶然发现此问题的其他人,您无需重新安装所有 brew 软件包。麻烦制造者是cctools,它不再出现在 brew 公式列表中。如果由于某种原因它仍然在您的系统上徘徊,您可以

    mv /usr/local/Cellar/cctools{,-backup}
    

    确保它不再被通过homebrew 安装的gcc 工具套件看到,或者您可以直接将其删除

    brew uninstall cctools
    

    目前我选择了第一个,因为我不确定移除会破坏什么(如果有的话)。一旦我确认没有安装它不会造成任何不良影响,我将从我的系统中完全删除它。话虽如此,我已经确认只需移动目录即可解决

    FATAL:/usr/local/Cellar/cctools/855/bin/../libexec/as/x86_64/as: I don't understand 'm' flag!
    

    当您尝试在 Mac OSX 上使用 GNU 编译器编译某些东西时报告错误(在我的例子中是 Catalina,但对于 Big Sur 和 Monterrey 应该是一样的)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 1970-01-01
      • 2020-09-10
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      相关资源
      最近更新 更多