今天想搭建一個mingw 平臺,來測試一些code,搜索了百度置頂的幾個方案後,均不能解決問題,總結的問題如下:
錯誤1:選擇指定的模塊安裝後,出現gcc.exe: error: CreateProcess: No such file or directory的錯誤
錯誤2:使用別人安裝好的,出現undefined reference to `__chkstk_ms'的錯誤
又搜索了一些方案:比如在環境路徑下bin->bin\,以及選擇安裝所有的gcc模塊,等等亂試一通,都沒用!
突然意識到自己像一隻沒頭蒼蠅一樣亂撞一氣,很愚蠢!必須得搞清楚,MinGW-get-setup的基本邏輯是什麼?
基於這個思路,我對比了一下別人安裝好的,和自己安裝後的區別,發現自己比別人少很多東西,比如addr2line.exe等,之前安裝的都沒有這些,這個時候我意識到大概率是我少安裝了什麼東西。
那麼首先需要解決的就是,到底需要安裝哪些模塊?如果我只需要C編譯器和C++編譯器分別應該選擇哪些模塊?
重新打開MingW32-get-setup.exe後,仔細看了所有的安裝模塊,心中大致分了幾個類,然後發現如下圖所示的選項:
這個mingw32-base-bin 就包含了C complier,linker 和其他binary tools,runtime libraries ,windows API,mingw32-make以及debugger,如果你只需要編譯c,選擇這一個安裝就夠了。如果你還想編譯C++,可以選擇mingw32-gcc-g++-bin安裝就夠了。具體的安裝步驟這裏就不再贅述。