假設你在 Code::Blocks 中,專案使用的是 g++ 編譯器來編譯,你可以點選專案右鍵後選擇 "Build options..." 然後將 -std=c++11 選項勾選即可編譯 c++11 feature 的程式了。
設定畫面如下:
測試範例程式如下:(來源 C++11 Wiki Range-based_for_loop)
注意:專案的編譯器設定會被 全域的編譯器設定所覆蓋,假設你在專案中設定 -std=c++11,但在全域編譯器中設定了 -std=c++98,則編譯最後是使用 c++98來編譯程式。 檢查 Build log 你會發現,編譯的指令為 mingw32-g++.exe -Wall -fexceptions -std=c++11 -g -std=c++98 ...。
設定畫面如下:
測試範例程式如下:(來源 C++11 Wiki Range-based_for_loop)
#include <iostream> using namespace std; int main() { //Range-based for loop int my_array[5] = {1, 2, 3, 4, 5}; for (auto &x : my_array) { cout << x << " "; } cout << endl; return 0; }
注意:專案的編譯器設定會被 全域的編譯器設定所覆蓋,假設你在專案中設定 -std=c++11,但在全域編譯器中設定了 -std=c++98,則編譯最後是使用 c++98來編譯程式。 檢查 Build log 你會發現,編譯的指令為 mingw32-g++.exe -Wall -fexceptions -std=c++11 -g -std=c++98 ...。
沒有留言:
張貼留言