2011-10-24 74 views
13

我已经下载并构建了clang版本3.0,以便与C++ 11功能一起玩,但是我得到这个错误(尽管我am使用了-Wc++11-extensions标志)。在Clang中激活C++ 11支持

S:\ LLVM \代码>铛++ EXE -WC++ 11的扩展variadic.cpp
variadic.cpp:4:19:警告:可变参数模板是一个C++ 11延伸[-WC++ 11的扩展]
模板<类型名称参数... args >

我已经建立了与哗在Windows 7(64位)VS10并顺利通过构建。


编辑:作为@cli_hlt指出,这是一个警告不是错误,错误是我没贴无法执行命令:程序不执行。造成这种情况的根本原因是link.exe不在PATH中。一旦我从VS命令提示符运行,一切都很好。

+23

我假定你最初做过'clang ++ variadic.cpp',看到了警告,并添加了警告标志,希望警告消失。在C++ 03模式(默认模式)下编译时,默认情况下,“-WC++ 11-extensions”处于打开状态,这就是您看到它的原因。你可以使用'-Wno-C++ 11-extensions'来关闭它,但是最好在C++ 11模式下使用'-std = C++ 11' – bames53

+0

@ bames53进行编译,谢谢这正是发生了什么事情。 – Motti

回答

20

您收到警告,而不是错误。

-W开关用于启用编译器警告。因此,根据我的理解,通过使用-WC++ 11-extensions,您可以告诉编译器警告您是否使用C++ 11扩展。

而这正是发生在这里。

+2

对,你是我是一个白痴。警告后面跟着错误“无法执行命令:程序不可执行”,但即使对于'int main(){}'也会发生这种情况。我的错.. – Motti