1. 程式人生 > >最好的GCC for windows還是MinGW-w64官網

最好的GCC for windows還是MinGW-w64官網

在網上看到已經有gcc-5.0.0,於是就找了大量已編譯好的下載回來試用。結果是無一內部搭配了iconv的,因而在windows平臺上不能在gbk與UTF-8之間轉碼。沒辦法!


而MinGW-w64已經是超越了MinGW成為事實上的標準【此話出自英文維基MinGW條目】。在MinGW-w64的官方網站上,有各種搭配的預編譯軟體下載:32位/64位;drawf/sjlj/seh的異常機制;POSIX/win32執行緒機制。雖然沒有gcc-5.0.0版,但有最新穩定版4.9.2,下載後一試用果然支援:
-std=c++14
-finput-charset=gbk
-fexec-charset=gbk

原因很簡單,這個版本gcc的編譯選項中有一個--with-libiconv,所以編譯器原生支援隨便什麼的字符集之間的轉碼。而且這麼做的一個巨大好處是:源程式不用設定什麼locale函式,就一句std::cout<<"中國";就能正確顯示輸出中文漢字。因為編譯出的可執行檔案的“執行字符集”(C++11語言標準中的概念)是本地作業系統的預設字符集gbk

ps.

下載了最新版本的gcc version 5.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)。結果在codeblocks中編譯報錯:std=c++14 unrecognized command line option

在cmd中進到該目錄去手工編譯一個最簡單原始檔,顯示:CreateProcess 找不到檔案。終於我意識到,這是把64位的gcc編譯器放在了\Program Files(x86)\目錄中。把它移到\Program Files\目錄,終於OK