Ecplise使用CDT插件開發C/C++,編譯環境Cygwin


一、說明

     借助Ecplise的強大功能,我們可以通過給Ecplise增加CDT插件來開發C/C++程序,下面是我配置CDT插件的總結過程,主要為了方便以后練習一些Demo程序時使用。編譯環境采用的是Cygwin。使用Ecplise4.2 + CDT8.1.2 +Cygwin2.774。建議先閱讀第6條的注意事項。

強烈介意先安裝配置cygwin再安裝cdt插件

二、具體安裝步驟

為了保證安裝順利,請按以下步驟來進行。

1、安裝Cygwin

    下載地址:http://cygwin.com/setup.exe 官網:http://cygwin.com/

    下載好后,點擊setup.exe進行安裝,出現如下圖所示界面

13602B1319B3E46AA304743CBA4B41542EDDA6BA[34]

    點擊“NEXT”后我們看到如下界面:

D3E98781C39858E3383F22F15965F0A3973F5823[8]

我們看到有三種安裝模式:

    Install from Internet,這種模式直接從Internet安裝,適合網速較快的情況;
    Download Without Installing,這種模式只從網上下載Cygwin的組件包,但不安裝;
    Install from Local Directory,這種模式與上面第二種模式對應,當你的Cygwin組件包已經下載到本地,則可以使用此模式從本地安裝Cygwin。
    從上述三種模式中選擇適合你的安裝模式,這里我們選擇第一種安裝模式,直接從網上安裝,當然在下載的同時,Cygwin組件也保存到了本地,以便以后能夠再次安裝。選中后,點擊“下一步”。

53A295C088F24CD6764772C74576F2AB91730B56[8]

    這一步選擇Cygwin的安裝目錄,以及一些參數的設置。默認的安裝位置是C:\cygwin\,你也可以選擇自己的安裝目錄,然后選擇“下一步”,

D73C1B01B53FA37962B0CEC947CB90EC07C84AB2[8]

    這一步我們可以選擇安裝過程中從網上下載的Cygwin組件包的保存位置,選擇完以后,點擊“下一步”,

F4D2C289BA5A29F41EA6E7F357B69403661B35AD[8]

    這一步選擇連接的方式,選擇你的連接方式,然后點擊下一步,會出現選擇下載站點的對話框,如下圖所示,

95B9F566FDD7B3C04BF7E4C3E5CA8A3862D1C770[8]

    此步選擇第一個163提供的鏡像網站就可以,國內下載速度挺快,如果有其他鏡像,可以輸入URL后,點擊“Add”進行添加,然后再在列表中選中。選擇完成后,點擊“下一步”,進過下載幾個文件后顯示如下界面

09EF8B08C2E30C47110FA77195F431AA317326E9[8]

    下面就在這個界面中下載我們需要編譯C/C++代碼的Packages,我們只需要下載“Devel”分支下幾個包就可以了,

    gcc,
    gcc-core,
    gcc-g++,
    gcc-mingw-core,
    gcc-mingw-g++,
    make ,
    gdb,
    binutils。

    在上圖的search框中輸入gcc,程序會自動進行搜索,如下圖,通過選擇“Devel”分支下的包,找到安裝我們需要的包,然后點擊Skip來選擇最新的安裝包

A08867BEDB041AD3DE2FA90E763790C05E08D996[8]

    這是已經成功安裝最新版本包后的圖示,大家單擊“Skip”來選擇最新版本的安裝。

    同理,輸入“make”后,選擇“Devel”分支下的包,下載如圖所示的包:

CD77287C9B5DA5855B14501210B026DF56522FF9[8]

輸入“gdb”后,選擇“Devel”分支下的包,下載如圖所示的包:

C1596550B170EA3466C2C6ACC618DFC4D2C4C948[8]

輸入“binutils”后,選擇“Devel”分支下的包,下載如圖所示的包:

A98B2C9D0ED25AB3252DF259533CC514E8975FAD[8]

    選完以后,我們選擇下一步,進入安裝過程,如下圖所示,

DD689E665FAAE014AC0350035A43D353CB6E0412[8]

    安裝的時間依據你選擇的組件以及網絡情況而定。安裝完成后,安裝程序會提示是否在桌面上創建Cygwin圖標等,點擊完成退出安裝程序。

B6C1B6CCEB9A331239A86EE0AD3DF38C85A789E8[8]

2、配置Windows的環境變量

熟悉Java開發環境的都應該知道怎么找到環境變量,實在不知道的去百度下吧。

將cygwin\bin目錄加入到環境變量PATH中。然后,打開cmd命令行窗口,分別試一下gcc , g++命令。

      如果顯示“訪問被拒絕” (access denied), 進入cygwin安裝目錄\bin下檢查g++.exe, gcc.exe是否只有1k大小,如果是,那么文件是符號鏈接,那么把文件重命名一下(備份)。 然后把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自動升級功能進行安裝,如下圖所示:

添加地址:   http://download.eclipse.org/tools/cdt/releases/juno

4、配置Ecplise的C/C++開發環境

(1)設置Ecplise與Cygwin的路徑映射

   按以下步驟打開Ecplise:

    Window -> Preferences->C/C++->Debug-> Common Source Lookup Path -> add  -> new "Path Mapping".

    映射方法,如下圖:

eclipse中調試時,由於GDB使用的unix格式的路徑,而eclipse使用的是windows路徑,導致找不到匹配的代碼, 把linux的路徑映射windows的路徑:比如  /cygwin/c   映射成 C:\ 。

(2)配置C/C++的"Makefile Project",選擇“PE Windows Parser", 和”Cygwin PE Parser" 兩項。

8E7C6ED4082DB610CF8536D6484293082399DB6C[8]

    5、在Ecplise中創建工程編寫C/C++代碼

(1)創建C/C++工程

    點擊”Next“,顯示如下圖:

    點擊”Next“,顯示如下圖:

    點擊”Finish“完成創建。

    當編寫好代碼后,可以對你的工程進行編譯,點擊“Project”選項下的"Builder Project"項目即可。

    編譯后的工程,如下圖所示:

此時是成功編譯后“Consloe”控制台的顯示畫面。

點擊上面選中的,然后點擊鼠標右鍵,選擇“Run”,即可運行程序。此時控制台即可打印出文字了。

   到此我們就完成了Ecplise + CDT + Cygwin開發環境的配置,以后你就可以享用其方便的功能了。

6、常見問題

1、Eclipse下的CDT創建C++項目時候,不能自動生成includes文件夾

  有兩種解決方法:

        (1)打開Window -> Preferences->C/C++->Environment,如下圖所示,添加兩個環境變量

            將C_INCLUDE_PATH 設為 /usr/include
            將CPLUS_INCLUDE_PATH 設為 /usr/include/c++

如果在Cygwin的/usr/include/目錄下沒有c++這個目錄,可以從\cygwin\lib\gcc\i686-pc-cygwin\3.4.4\include\c++拷貝一個到目錄下,或者直接添加這個目錄都可以。

0CED4F9ADDE3838C821F689B321C4B82798541D8[8]

此步也可以解決代碼中提示的顯示信息”Unresolved inclusion:“問題,盡管不影響編譯,只是無法定位頭文件中的符號。

    (2)在Windows里面,加入環境變量CPLUS_INCLUDE_PATH 和C_INCLUDE_PATH,並都設置成,安裝的Cygwin的對應lib路徑:D:\cygwin\lib然后再新建C/C++項目的時候,就可以自動生產Includes文件夾了。

    2、用eclipse 建立編譯C++工程出現錯誤提示 “symbol could not be resolved”

問題原因:是debug下的source lookup path沒有映射正確。

    解決辦法:

    window -> preferences -> C/C++ -> debug -> source lookup path > Path Mapping
     \cygdirve\c     C:\

    用cygwin下的c盤來替代當前的C盤 來查找需要的庫文件,如果你的Cygwin安裝在C盤,則映射C盤,如果安裝在D盤,則映射為\cygdirve\d     D:\,其他盤同理。

    3、用eclipse 建立編譯C++Debug工程出現錯誤提示以下錯誤

image

依然是上面映射的問題,打開Cygwin自帶的“Cygwin Terminal”,然后輸入以下命令“mount”如圖所示:

    上面就是我們設置的映射,如果沒有你的Ecplise的Workspace所在的盤的位置的映射,請按照上面的說明進行添加,即可調試成功。例如,我的Workspace在D:盤下,則我想調試程序,必須映射到D盤的位置。

4、解決Eclipse的CDT編寫的c/c++程序的運行結果不能輸出到console的問題

(1)設置“Debug Configurations"里的“Environment”選項,添加PATH,指定X:\cygwin\bin的路徑。

    如圖所示

(2)如果build不能通過 

    (編譯正常通過后會出現類似下面的輸出)
       **** Build of configuration Debug for project Test ****
        make all 
        make: Nothing to be done for `all'.
        **** Build Finished ****
     請按照上面步驟重新安裝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM