更新到 Monterey 后无法在 Mac 上使用 gcc 编译 c++ 程序

Can't compile c++ program using gcc on Mac after updating to Monterey

*更新: 关于类似的问题macos-wchar-h-file-not-found,命令行工具开关(xcode-select --install) 已经不存在了

我 运行 在 macOS Monterey 系统上,我正在尝试使用 g++-11 命令编译一个简单的 hello world .cpp 文件(我使用自制软件安装了 gcc),我收到以下错误:

/usr/local/Cellar/gcc/11.2.0_3/include/c++/11/cwchar:44:10: fatal error: wchar.h: No such file or directory
   44 | #include <wchar.h>
      |          ^~~~~~~~~

我尝试了两个编译命令:

g++-11 -c hello.cpp -o hell.o 

g++-11 -std=c++11 -c hello.cpp -o hell.o

这是我要编译的文件:

//
//  main.cpp
//  Test
//
//  Created by Jiali Zhu on 1/9/22.
//

#include <iostream>

int main(int argc, const char * argv[]) {
    // insert code here...
    std::cout << "Hello, World!\n";
    return 0;
}

我也有同样的问题,在我的情况下问题已经过时了 命令行开发工具。

我是通过运行

发现的
$ brew doctor
...
Warning: Your Command Line Tools are too outdated.
Update them from Software Update in System Preferences or run:
  softwareupdate --all --install --force

If that doesn't show you any updates, run:
  sudo rm -rf /Library/Developer/CommandLineTools
  sudo xcode-select --install

Alternatively, manually download them from:
  https://developer.apple.com/download/all/.
You should download the Command Line Tools for Xcode 13.1.

我试图通过 softwareupdate -l 更新它们,但是这并没有给我任何更新信息。

所以删除它们并使用 xcode-select --install 重新安装。

在此之后 g++-11 停止给我有关此 header 的错误。

现在 brew config 告诉我我有 CLT: 13.0.0.0.1.1627064638

P.S.

我也启动了xcode,它问我是否需要安装额外的组件,我说是。