我试图让 Clang 在 Windows 上工作,最终使用 Qt Creator 进行开发,看看它是否是 Visual Studio 的可行替代方案。
我让 LLVM 和 Clang 3.2(SVN 修订版 163238)使用MinGW w64AddMinGWCPlusPlusIncludePaths("D:/Code/mingw/lib/gcc", "x86_64-w64-mingw32", "4.7.0");
(mingw-w64-bin_i686-mingw_20111220.zip)进行编译,并且还通过添加指向gcc 的 C++ 头目录clang/lib/Frontend/InitHeaderSearch.cpp
,尽管我认为这可能不是最高级的迄今为止的方法。无论如何,Clang 似乎找到了大多数这些标题。
但是,在编译一个简单的 Hello World 时:
#include <iostream>
int main(int argc, char* argv[])
{
std::cout << "test\n";
return 0;
}
使用clang++ main.cpp
我得到这个错误:
In file included from main.cpp:1:
In file included from D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++\iostream:39:
In file included from D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++\ostream:39:
In file included from D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++\ios:39:
In file included from D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++\iosfwd:41:
In file included from D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++\postypes.h:41:
D:/Code/mingw/lib/gcc/x86_64-w64-ming32/4.7.0./include/c++\cwchar:45:10: fatal error:
'wchar.h' file not found
因此,Clang 显然找到了几个 C++ 头文件,包括iostream
但未能找到wchar.h
. 原来它wchar.h
位于.../include/c++\tr1
Clang 不寻找它的地方。将这些 TR1 标头向上移动一个目录也无济于事。
我在这里做错了什么?gcc C++ 库是否与 Clang 不兼容,因为显然它还没有将一些 TR1 库集成到标准中?我在哪里可以获得 Clang 兼容的 C++11 库(适用于 Windows!)?