我刚刚在我的64位Windows 10系统上安装了64位版本的Clang 3.8.1和MinGW-w64 5.1.0,在看似完全成功的安装和路径配置后,我尝试编译以下内容显示命令行的代码:
clang++ -c test.cpp
#include <iostream>
int main()
{
std::cout << "Hello world!\n";
return 0;
}
我首先尝试将我的INCLUDE路径设置为Microsoft VS2015标头,然后将它们设置为mingw64标头,但两种情况都存在内容错误(尽管实际上找不到任何头文件的问题)
在mingw64案例中,以下是典型错误:
C:\mingw64\x86_64-w64-mingw32\include\stdio.h:179:86: error: expected ';'
after top level declarator int __cdecl __mingw_sprintf (char *
__restrict__ , const char * __restrict__ , ...) __MINGW_NOTHROW;
而在VS2015案例中,以下是典型的:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\limits:611:33:
error: use of undeclared identifier 'char16_t' template<> class numeric_limits<char16_t>
我也尝试了每个-std = c ++ 98到-std = c ++ 14开关,但没有区别。相应的头文件与gcc和cl编译器一起工作正常。是否还有其他一些我应该使用的标题,这些标题是专门针对Clang本身定制的,还是我只是做错了什么?
谢谢,Ray
答案 0 :(得分:0)
修正:
我回到LLVM clang 3.7.0(发布候选3)64位,所有问题都随着Microsoft和minGW64头文件而消失。似乎版本3.8.1必须向后退一步!