為了給同事分享C++11標准,需要一個演示C++11的編程環境。VS2013太大,安裝起來不太方便。由於電腦上之前有安裝codeblock,於是升級MinGW。去MinGW官網http://www.mingw.org/上去下載一個安裝程序,安裝完成后,打開安裝管理器MinGW Installer,把Basci Setup里邊的全都安裝完。然后設置windows里的環境變量,打開codeblock的配置,配置編譯器和調試環境。如下圖。

然后創建一個C++工程,編譯。代碼如下: auto是C++11中的關鍵字,用來檢測編譯器是否支持C++11標准。
#include <iostream>
using namespace std;
int main()
{
auto xx = 12;
cout << "Hello world!" << endl;
return 0;
}
居然編譯不過,Execution of 'mingw32-g++.exe -Wall -g -c Failed。仔細研究了下,發現MinGW安裝路徑bin里沒有mingw32-g++.exe 。但是安裝管理器MinGW Installation Manager里顯示是安裝過的,還是嘗試着把gc++再安裝一遍,居然安裝失敗。只好自己去下載g++相關的文件安裝了。根據安裝管理器的里g++相關的信息,Google一下。
在這個鏈接:http://www.mingw.org/aggregator/sources/2?page=3 下找到了需要下載的文件,下載后解壓(WinRAR解壓不了,需要下載7zip),把對應的文件拷貝到 MinGW\bin里,然后在CodeBlock里編譯,倒是能編譯了,但是有錯誤,在auto那一行提示“ does not name a type”。看來沒有支持到C++11標准。按照資料所說,GCC 4.8.2就很好的支持C++11了,我這里的GCC是4.9.1版本了,應該會支持到C++11。還是Google吧,有人說要加`-std=c++11` 或者 `-std=c++0x` 在變量列表。或者調用g++編譯時帶上C++11相關參數‘g++ -std=c++11 decdef.cpp -o decdef’。這樣一來就有點扯淡了,CodeBlock里來這一套很不方便還別扭。最終在setting - compiler and debugger- compiler setting - compiler Flag - All categories里找到一個C++11相關的選項,如圖:

到此成功!
