Я использую MacOS 10.15. Поскольку в комплект поставки MacOS входит лягушонок clang-format
. Я установил другой предварительно собранный бинарный файл clang из здесь . Я добавил путь к двоичному файлу в мою PATH
переменную.
export PATH="$HOME/tools/clang+llvm-10.0.0-x86_64-apple-darwin/bin:$PATH"
Я попытался скомпилировать простую программу:
#include <iostream>
int main(int argc, char *argv[]) {
std::cout << "Hello world!\n";
return 0;
}
с помощью следующей команды:
clang++ hello.cpp -o hello
Я получил следующую ошибку:
In file included from hello.cpp:1:
In file included from /Users/jdhao/tools/clang+llvm-10.0.0-x86_64-apple-darwin/bin/../include/c++/v1/iostream:37:
In file included from /Users/jdhao/tools/clang+llvm-10.0.0-x86_64-apple-darwin/bin/../include/c++/v1/ios:214:
In file included from /Users/jdhao/tools/clang+llvm-10.0.0-x86_64-apple-darwin/bin/../include/c++/v1/iosfwd:95:
/Users/jdhao/tools/clang+llvm-10.0.0-x86_64-apple-darwin/bin/../include/c++/v1/wchar.h:118:15: fatal error: 'wchar.h' file not found
#include_next <wchar.h>
^~~~~~~~~
1 error generated.
Я обнаружил, что wchar.h
в комплекте с этим предварительно собранным пакетом находится в следующем каталоге:
/Users/jdhao/tools/clang+llvm-10.0.0-x86_64-apple-darwin/include/c++/v1/
Итак, я добавил флаг -I
:
clang++ -I /Users/jdhao/tools/clang+llvm-10.0.0-x86_64-apple-darwin/include/c++/v1 hello.cpp -o hello
Ошибка по-прежнему сохраняется.
Если я использую clang++
, поставляемый с MacOS, у меня нет проблем с компиляцией исходного кода:
# the following works without any error
/usr/bin/clang++ hello.cpp -o hello
Я видел сообщение здесь , здесь и здесь , но решения не применяются.