使用g ++找不到C ++头文件'wchar.h'(MacOS)

时间:2018-09-12 12:40:27

标签: c++ g++

免责声明-我对C ++和该语言在编译/链接方面的工作方式完全陌生。使用MacOS Mojave。

对于学校课程,我们必须使用g ++编译器来编译我们的c ++项目。 G ++似乎已成功安装; g ++ -v产生以下输出:

COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-apple-darwin17.5.0/8.1.0/lto-wrapper
Target: x86_64-apple-darwin17.5.0
Configured with: ../gcc-8.1.0/configure --enable-languages=c++,fortran
Thread model: posix
gcc versie 8.1.0 (GCC) 

我创建了第一个“ hello world”程序:

#include <iostream>

using namespace std;

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

当我尝试编译此代码(使用'g ++ file.cpp)时,出现以下终端输出提示:

In file included from /usr/local/include/c++/8.1.0/bits/postypes.h:40,
                 from /usr/local/include/c++/8.1.0/iosfwd:40,
                 from /usr/local/include/c++/8.1.0/ios:38,
                 from /usr/local/include/c++/8.1.0/ostream:38,
                 from /usr/local/include/c++/8.1.0/iostream:39,
                 from ex1.cpp:1:
/usr/local/include/c++/8.1.0/cwchar:44:10: fatale fout: wchar.h: No such file or directory
 #include <wchar.h>
          ^~~~~~~~~
compilation ended.

whcar.h文件确实不在上述文件夹中。经过一番挖掘之后,我在以下文件夹中找到了whcar文件:/Library/Developer/CommandLineTools/usr/include/c++/v1

不幸的是,我有点迷茫,我真的不知道我在说什么,强迫一切对我来说真的很新。

非常感谢任何人都能向正确的方向指引我。

亲切的问候,

Thijmen。

2 个答案:

答案 0 :(得分:1)

对我来说,重新安装Xcode命令行工具和g ++解决了相同的问题:

xcode-select --install
brew reinstall gcc

最后一行假设您已经安装了homebrew

答案 1 :(得分:0)

我刚刚发现这种混乱的最简单方法就是将丢失的头文件下载到您的编译器文件夹中。它将解决所有问题。