2014-09-23 34 views
3

我試圖用Windows下的clang-cl編譯C++ 11程序。 Clang-cl是clang的封裝,與cl(Visual Studio編譯器)更兼容。我試圖添加-std=c++11/std=c++11並且都被拒絕。這並不奇怪,因爲cl沒有C++ 11標誌。 但我不能在clang-cl中使用C++ 11功能。如何將std = C++ 11標誌添加到clang-cl?

如何在clang-cl中啓用C++ 11支持?

回答

7

在前面提到的文件說:http://clang.llvm.org/docs/UsersManual.html#clang-cl

鐺默認爲C++用於Windows 11的目標。

也許你不需要將任何標誌傳遞給clang-cl。

+0

我嘗試編譯一個用Linux和Clang 3.5開發和編譯的代碼庫。我嘗試用CMake和Visual Studion 2013和Clang 3.5作爲工具鏈。編譯器由於shared_ptr或nullptr而出錯。我會仔細檢查它是否真的是C++ 11。因爲在Windows上配置檢查_has_attribute(不建議使用)也失敗。 – usr1234567 2014-09-25 15:24:11

+1

@ usr1234567 C++ 11默認使用clang-cl。確保你在配置好的環境中運行它,以查找Visual Studio標題等。也就是說,設置cmd.exe環境以便您可以使用cl.exe的vcvarsall.bat腳本也是clang-cl所必需的。 – bames53 2014-09-26 15:41:35

+0

@ bames53我想我是。它位於我的CMake項目的構建目錄中。或者我必須用CMake明確地設置它? – usr1234567 2014-09-26 16:33:17

相關問題