【发布时间】:2019-11-27 01:54:26
【问题描述】:
我同时安装了 MinGW gcc 和 Clang clang 并通过 chocolatey 添加到路径中,两者都可以在命令行上找到。但是,当我尝试将clang 与gcc 一起使用时,clang 似乎不知道在标准库中哪里可以找到头文件(例如iostream),返回以下错误:
clang++ -v main.cpp -o main.exe -std=c++14 -target x86_64-mingw64
clang version 9.0.0 (tags/RELEASE_900/final)
Target: x86_64-unknown-windows-gnu
Thread model: posix
InstalledDir: C:\Program Files\LLVM\bin
(SKIP)
ignoring nonexistent directory "(nonexistent directories)"
#include "..." search starts here:
#include <...> search starts here:
C:\Program Files\LLVM\lib\clang\9.0.0\include
End of search list.
main.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
^~~~~~~~~~
1 error generated.
shell returned 1
我已将gcc 和clang 添加到路径中,以及包含gcc (C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0) 中包含的头文件的目录,所以我不明白为什么clang 不是在正确的位置寻找头文件。我该如何解决这个问题?这并不是真正必要的,但是可以更改clang 的默认目标吗? clang 当前的 Windows 10 默认值为 msvc,但我宁愿不使用它。
【问题讨论】:
-
clang 和 gcc 是不同的编译器,“将 clang 与 gcc 一起使用”是什么意思?
-
等等,我想我可以使用 clang 作为 gcc 的前端和兼容的编译器驱动程序。这是完全不同的东西吗?