爲了給同事分享C++11標準,須要一個演示C++11的編程環境。VS2013太大,安裝起來不太方便。因爲電腦上以前有安裝codeblock,因而升級MinGW。去MinGW官網http://www.mingw.org/上去下載一個安裝程序,安裝完成後,打開安裝管理器MinGW Installer,把Basci Setup裏邊的全都安裝完。而後設置windows裏的環境變量,打開codeblock的配置,配置編譯器和調試環境。以下圖。ios
而後建立一個C++工程,編譯。代碼以下: auto是C++11中的關鍵字,用來檢測編譯器是否支持C++11標準。c++
#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相關的選項,如圖:windows
到此成功!spa