【发布时间】:2016-07-30 20:39:54
【问题描述】:
我刚刚在我的 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 本身量身定制的标头,或者我只是做错了什么?
谢谢,雷
【问题讨论】:
-
-c是做什么的? -
@VeniVidiVici 只编译,不要链接。
-
男孩,我在使用 g++ 时遇到了一个与此非常相似的问题。我希望我能准确地记得我做了什么。我想我只是使用了 c++11 标签,但这不适用于这里。
标签: c++ compiler-errors clang clang++