2011-10-24 108 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