借助Ecplise的強(qiáng)大功能,我們可以通過給Ecplise增加CDT插件來開發(fā)C/C++程序,下面是我配置CDT插件的總結(jié)過程,主要為了方便以后練習(xí)一些Demo程序時(shí)使用。編譯環(huán)境采用的是Cygwin。使用Ecplise4.2 + CDT8.1.2 +Cygwin2.774。建議先閱讀第6條的注意事項(xiàng)。
強(qiáng)烈介意:先安裝配置cygwin再安裝cdt插件
一、具體安裝步驟
為了保證安裝順利,請(qǐng)按以下步驟來進(jìn)行。
1、安裝Cygwin
下載地址:http://cygwin.com/setup.exe 官網(wǎng):http://cygwin.com/
下載好后,點(diǎn)擊setup.exe進(jìn)行安裝,出現(xiàn)如下圖所示界面
點(diǎn)擊“NEXT”后我們看到如下界面:
我們看到有三種安裝模式:
Install from Internet,這種模式直接從Internet安裝,適合網(wǎng)速較快的情況;
Download Without Installing,這種模式只從網(wǎng)上下載Cygwin的組件包,但不安裝;
Install from Local Directory,這種模式與上面第二種模式對(duì)應(yīng),當(dāng)你的Cygwin組件包已經(jīng)下載到本地,則可以使用此模式從本地安裝Cygwin。
從上述三種模式中選擇適合你的安裝模式,這里我們選擇第一種安裝模式,直接從網(wǎng)上安裝,當(dāng)然在下載的同時(shí),Cygwin組件也保存到了本地,以便以后能夠再次安裝。選中后,點(diǎn)擊“下一步”。
這一步選擇Cygwin的安裝目錄,以及一些參數(shù)的設(shè)置。默認(rèn)的安裝位置是C:\cygwin\,你也可以選擇自己的安裝目錄,然后選擇“下一步”,
這一步我們可以選擇安裝過程中從網(wǎng)上下載的Cygwin組件包的保存位置,選擇完以后,點(diǎn)擊“下一步”,
這一步選擇連接的方式,選擇你的連接方式,然后點(diǎn)擊下一步,會(huì)出現(xiàn)選擇下載站點(diǎn)的對(duì)話框,如下圖所示,
此步選擇第一個(gè)163提供的鏡像網(wǎng)站就可以,國(guó)內(nèi)下載速度挺快,如果有其他鏡像,可以輸入U(xiǎn)RL后,點(diǎn)擊“Add”進(jìn)行添加,然后再在列表中選中。選擇完成后,點(diǎn)擊“下一步”,進(jìn)過下載幾個(gè)文件后顯示如下界面
下面就在這個(gè)界面中下載我們需要編譯C/C++代碼的Packages,我們只需要下載“Devel”分支下幾個(gè)包就可以了,
gcc,
gcc-core,
gcc-g++,
gcc-mingw-core,
gcc-mingw-g++,
make ,
gdb,
binutils。
在上圖的search框中輸入gcc,程序會(huì)自動(dòng)進(jìn)行搜索,如下圖,通過選擇“Devel”分支下的包,找到安裝我們需要的包,然后點(diǎn)擊Skip來選擇最新的安裝包
這是已經(jīng)成功安裝最新版本包后的圖示,大家單擊“Skip”來選擇最新版本的安裝。
同理,輸入“make”后,選擇“Devel”分支下的包,下載如圖所示的包:
輸入“gdb”后,選擇“Devel”分支下的包,下載如圖所示的包:
輸入“binutils”后,選擇“Devel”分支下的包,下載如圖所示的包:
選完以后,我們選擇下一步,進(jìn)入安裝過程,如下圖所示,
安裝的時(shí)間依據(jù)你選擇的組件以及網(wǎng)絡(luò)情況而定。安裝完成后,安裝程序會(huì)提示是否在桌面上創(chuàng)建Cygwin圖標(biāo)等,點(diǎn)擊完成退出安裝程序。
2、配置Windows的環(huán)境變量
熟悉Java開發(fā)環(huán)境的都應(yīng)該知道怎么找到環(huán)境變量,實(shí)在不知道的去百度下吧。
將cygwin\bin目錄加入到環(huán)境變量PATH中。然后,打開cmd命令行窗口,分別試一下gcc , g++命令。
如果顯示“訪問被拒絕” (access denied), 進(jìn)入cygwin安裝目錄\bin下檢查g++.exe, gcc.exe是否只有1k大小,如果是,那么文件是符號(hào)鏈接,那么把文件重命名一下(備份)。 然后把g++-3.exe(或者g++-4.exe)拷貝一份,重命名為g++.exe。 把gcc-3.exe拷貝一份,重命名為gcc.exe。
3、下載Ecplise CDT插件
下載地址:http://www.eclipse.org/cdt/downloads.php
參考:Ecplise插件的安裝的四種方法。
或者通過Ecplise自動(dòng)升級(jí)功能進(jìn)行安裝,如下圖所示:
添加地址:http://download.eclipse.org/tools/cdt/releases/juno
4、配置Ecplise的C/C++開發(fā)環(huán)境
(1)設(shè)置Ecplise與Cygwin的路徑映射
按以下步驟打開Ecplise:
Window -> Preferences->C/C++->Debug-> Common Source Lookup Path -> add -> new "Path Mapping".
映射方法,如下圖:
eclipse中調(diào)試時(shí),由于GDB使用的unix格式的路徑,而eclipse使用的是windows路徑,導(dǎo)致找不到匹配的代碼, 把linux的路徑映射windows的路徑:比如 /cygwin/c 映射成 C:\ 。
(2)配置C/C++的"Makefile Project",選擇“PE Windows Parser", 和”Cygwin PE Parser" 兩項(xiàng)。
5、在Ecplise中創(chuàng)建工程編寫C/C++代碼
(1)創(chuàng)建C/C++工程
點(diǎn)擊”Next“,顯示如下圖:
點(diǎn)擊”Next“,顯示如下圖:
點(diǎn)擊”Finish“完成創(chuàng)建。
當(dāng)編寫好代碼后,可以對(duì)你的工程進(jìn)行編譯,點(diǎn)擊“Project”選項(xiàng)下的"Builder Project"項(xiàng)目即可。
編譯后的工程,如下圖所示:
此時(shí)是成功編譯后“Consloe”控制臺(tái)的顯示畫面。
點(diǎn)擊上面選中的,然后點(diǎn)擊鼠標(biāo)右鍵,選擇“Run”,即可運(yùn)行程序。此時(shí)控制臺(tái)即可打印出文字了。
到此我們就完成了Ecplise + CDT + Cygwin開發(fā)環(huán)境的配置,以后你就可以享用其方便的功能了。
6、常見問題
1、Eclipse下的CDT創(chuàng)建C++項(xiàng)目時(shí)候,不能自動(dòng)生成includes文件夾
有兩種解決方法:
(1)打開Window -> Preferences->C/C++->Environment,如下圖所示,添加兩個(gè)環(huán)境變量
將C_INCLUDE_PATH 設(shè)為 /usr/include
將CPLUS_INCLUDE_PATH 設(shè)為 /usr/include/c++
如果在Cygwin的/usr/include/目錄下沒有c++這個(gè)目錄,可以從\cygwin\lib\gcc\i686-pc-cygwin\3.4.4\include\c++拷貝一個(gè)到目錄下,或者直接添加這個(gè)目錄都可以。
此步也可以解決代碼中提示的顯示信息”Unresolved inclusion:“問題,盡管不影響編譯,只是無法定位頭文件中的符號(hào)。
(2)在Windows里面,加入環(huán)境變量CPLUS_INCLUDE_PATH 和C_INCLUDE_PATH,并都設(shè)置成,安裝的Cygwin的對(duì)應(yīng)lib路徑:D:\cygwin\lib然后再新建C/C++項(xiàng)目的時(shí)候,就可以自動(dòng)生產(chǎn)Includes文件夾了。
2、用eclipse 建立編譯C++工程出現(xiàn)錯(cuò)誤提示 “symbol could not be resolved”
問題原因:是debug下的source lookup path沒有映射正確。
解決辦法:
window -> preferences -> C/C++ -> debug -> source lookup path > Path Mapping
\cygdirve\c C:\
用cygwin下的c盤來替代當(dāng)前的C盤 來查找需要的庫文件,如果你的Cygwin安裝在C盤,則映射C盤,如果安裝在D盤,則映射為\cygdirve\d D:\,其他盤同理。
3、用eclipse 建立編譯C++Debug工程出現(xiàn)錯(cuò)誤提示以下錯(cuò)誤
依然是上面映射的問題,打開Cygwin自帶的“Cygwin Terminal”,然后輸入以下命令“mount”如圖所示:
上面就是我們?cè)O(shè)置的映射,如果沒有你的Ecplise的Workspace所在的盤的位置的映射,請(qǐng)按照上面的說明進(jìn)行添加,即可調(diào)試成功。例如,我的Workspace在D:盤下,則我想調(diào)試程序,必須映射到D盤的位置。
4、解決Eclipse的CDT編寫的c/c++程序的運(yùn)行結(jié)果不能輸出到console的問題
(1)設(shè)置“Debug Configurations"里的“Environment”選項(xiàng),添加PATH,指定X:\cygwin\bin的路徑。
如圖所示
(2)如果build不能通過
(編譯正常通過后會(huì)出現(xiàn)類似下面的輸出)
**** Build of configuration Debug for project Test ****
make all
make: Nothing to be done for `all'.
**** Build Finished ****
請(qǐng)按照上面步驟重新安裝。