關於code::blocks的幾點注意 part1

JUAN425發表於2014-08-09

A:什麼是code::blocks?

B: 登陸code::blocks 網站, 檢視code::blocks定義。看到幾個大字:

The open source, cross platform, free C, C++ and Fortran IDE.
接下來第一句: Code::Blocks is a free C, C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fulconfigurable.  從這個英文定義中, 不難看出, Code::blocks 是一個免費的C/C++ 和 Fortran 的跨平臺的IDE(整合開發環境)。  所以code::blocks 只是一個IDE, 並不是一個Compiler。 code::blocks的最大的優點就是快平臺, 開源, 免費, 而且可以支援多個compiler, 例如:



我們可以根據我們的需要設定code::blocks預設使用的compier。 我使用的是gcc 編譯器。 



點選得到下圖:




  最近編譯Kruskal Algorithm的時候, 發現code::blocks 不支援C++11 。    準確的說, 其實是code::blocks 使用的Compiler 不支援C++11。  我們知道, C++11提供了許多新的特性, 例如auto變數, 智慧指標等等。 但是不幸的是,  對於g++, 只有g++4.7 以上的compiler 才支援C++11。 所以要想使得我們的code::blocks 支援 g++4.7 編譯器, 我們必須設定我們的編譯器。

 我是用的code::blocks的IDE的版本是10.05.  當然不會支援C++11了。 目前最新的code::blocks 的版本是13.12.。 最新版本的當然具有g++4.7 以上的Compiler了。 淡然也就支援C++11了。

由於我不想重新安裝code::blocks, 我們需要在電腦中安裝g++4.7 以上的編譯器了。


PS: 如果你是用的是code::blocks 13系列版本的話, 可以如下操作以便支援C++11:

setting -》 Compiler, 開啟編譯器設定介面, 選中

 然後儲存。 參加下圖。




由於我的code::blocks 的版本是10.05,settings -> compiler and debugger, 發現沒有上面的那個選擇(option), 介面如下:





為了為code::blocks配置支援C++11的編譯器, 我們需要下載最新的Mingw。 

下載完成後, 解壓縮相關的Mingw 的檔案到C盤下(預設)。 路徑為C:\Mingw。 期間出現如下選擇視窗:



通過點選檢視每個package的作用, 我選擇如下C++的Compiler:




然後, 如下點選確認:



根據提示, 繼續, 最終得到安裝過程如下, 等待, 直至安裝成功:




安裝完成後如下:




然後, 由於不在安裝其他的package了, 關閉即可。



接下來配置環境變數:


切換到安裝目錄下:




接下來, 賦值安裝目錄:


配置系統變數Path 如下:




確認即可。

接下來, 開啟terminal, 如下(開始-執行-cmd):



出現上述資訊, 說明安裝成功(沒有安裝gcc)。 


接下來, cls 清屏(記得Linux 系統的清屏命令是clear)。


接下來, 可以檢視g++ 的版本號(兩種辦法如下):



可見, 安裝的g++ 的版本是4.8,1, 當然滿足我們的需要。



接下來, 我們編寫一個程式測試一下:

在D盤中建一個test 資料夾:

開啟NOTEPad++ , 編寫如下C++ 程式(注意由於使用的是g++ 編譯器, 字尾名為.cpp):


儲存。


接下來, 開啟終端, 切換到hello.cpp 所在的路徑中:



可以使用dir 命令檢視test 資料夾下的所有檔案的資訊。

NOTE: 在輸入資料夾命令的時候, 學會使用Tab 鍵, 補全檔名, 鍵盤上向上箭頭是上一個指令, 向下箭頭是下一個指令。 以提高我們的工作效率(這點和Linux一樣)。




出錯了。 原因何在。

注意在windows 中, 我們需要定義編譯完成後生成的二進位制檔案的名字。 所以重新開始。 cls 清屏。 重新輸入如下指令(假如我們將編譯生成的二進位制檔案命名為text):


然而執行後任然報錯:



報錯的原因是沒有找到libgmp-10.dll。 有兩個原因。 一個是沒有設定環境變數(不可能我已經設定了)。 第二個原因是安裝包的時候丟失了。 開啟C:\MinGW\bin, 果然沒有這個檔案。接下來, 就是下載這個檔案, 然後將其放在C:\MinGW\bin 下面既可以解決問題。



接下來, 再次執行指令:

仍然出錯, 此時說是沒有找到libmpc-3.dll, 同樣, 在網上下載下來, 放到C:\MinGW\bin 下面:



等等一大堆錯誤。 所以放棄這個方法。



終極解法:

下載最新版本的code::blocks(即13.12), 解壓縮此版本的code::blocks , 安裝在D盤下, 並複製其中的MinGW檔案到C盤下, 直接替換掉剛在的MinGW檔案。 由於之前已經配置過環境變數, 無序在配置了(也可以直接在將Path變數設定為D盤下的那個code::blocks所在的資料夾中, 不是, 直接將D:\CodeBlocks\MinGW\bin 設定到Path變數中即可)。 都okay

然後執行, 編譯通過:



檢視test資料夾下的文、此時檔案:



然後執行可執行檔案(直接輸入名字即可):



此時也有gcc, 用於編譯c 程式(因為這個資料夾是從code::blocks 13.12 複製過來的)。






相關文章