新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Linux系統下搭建C/C++開發的IDE環境

        Linux系統下搭建C/C++開發的IDE環境

        ——
        作者: 時間:2007-08-30 來源:賽迪網 收藏
        RedHat Linux上面沒有提供Anjuta軟件包,上面提供了一個Glade應用程序界面設計工具。Linux上面使用Anjuta和Glade以及 Glademm軟件包可以搭建一個Linux下面進行C/C++軟件開發的IDE環境,可以進行GTK+/Gnome的應用程序開發。

          以前開發 Linux 程序時寫出好的圖形化用戶界面比較難。 在 GIMP 工具包 (GTK)誕生之后,這件事就變得比較容易了。當 Damon Chaplin 寫出 GLADE 這個用于在 GTK 環境下生成圖形化用戶界面的工具后,就更容易了。但是 GLADE 仍然不能算是一個“集成開發環境”(如 Visual Basic 等等。), 因為程序員不能在 GLADE 的環境下手動修改 GLADE 產生的代碼。現在,這一切都已成為過去: Anjuta誕生了!

          Anjuta 利用 GLADE 生成優美用戶界面的能力,加之以自己強大的源程序編輯能力,正成為一個極好的應用程序快速開發的集成環境(IDE)。以前,人們使用 GLADE 做界面,用 emacs 或 vi 等等編輯程序,再用某種終端模擬器編輯開

        發項目。使用 Anjuta,所有這些繁雜零散的任務都可以在一個統一的、集成的、自然而然的環境下完成。

          一、軟件準備

          下載libzvt-2.0.1-0.ximian.6.6.i386.rpm

          http://tux.cprm.net/pub/ximian/xd2/redhat-9-i386/libzvt-2.0.1-0.ximian.6.6.i386.rpm

          下載anjuta-1.1.97-1.rh90.i386.rpm

          http://rpm.pbone.net/index.php3/stat/4/idpl/772608/com/anjuta-1.1.97-1.rh90.i386.rpm.html

          下載anjuta-1.0.2-1.i386.rpm

          http://heanet.dl.sourceforge.net/sourceforge/anjuta/anjuta-1.0.2-1.i386.rpm

          下載gtkmm2-2.2.3-fr1.i386.rpm

          http://ftp.freshrpms.net/pub/freshrpms/redhat/9/gtkmm2/gtkmm2-2.2.3-fr1.i386.rpm

          下載gtkmm2-devel-2.2.3-fr1.i386.rpm

          http://ftp.freshrpms.net/pub/freshrpms/redhat/9/gtkmm2/gtkmm2-devel-2.2.3-fr1.i386.rpm

          下載libsigc++-1.2.5-fr1.i386.rpm

          http://ftp.freshrpms.net/pub/freshrpms/redhat/9/libsigc++/libsigc++-1.2.5-fr1.i386.rpm

          下載glademm-1.1.3d-SNAP.i586.rpm

          http://loban.caltech.edu/gchch/glademm-1.1.3d-SNAP.i586.rpm

          下載libsigc++-devel-1.2.5-fr1.i386.rpm

          http://ftp.freshrpms.net/pub/freshrpms/redhat/9/libsigc++/libsigc++-devel-1.2.5-fr1.i386.rpm

          二、安裝軟件包

          安裝RedHat Linux 9選擇安裝上軟件開發項,這樣就安裝上了Glade,然后以root用戶登陸,安裝如下軟件包。

          rpm -ivh libzvt-2.0.1-0.ximian.6.6.i386.rpm //anjuta的依賴軟件包

          rpm -ivh ibsigc++-1.2.5-fr1.i386.rpm rpm -ivh gtkmm2-devel-2.2.3-fr1.i386.rpm

          rpm -ivh ibsigc++-devel-1.2.5-fr1.i386.rpm rpm -ivh gtkmm2-2.2.3-fr1.i386.rpm

          rpm -ivh glademm-1.1.3d-SNAP.i586.rpm rpm -ivh anjuta-1.0.2-1.i386.rpm

          rpm -Uvh anjuta-1.1.97-1.rh90.i386.rpm

          注:直接安裝anjuta-1.1.97會發現無法編譯軟件,這里要注意的幾個問題。

          1、要安裝 Ximian版本的 libzvt 軟件包,就是要安裝我上面提到那個。

          2、要先安裝 Anjuta 1.0.1,然后才updated via rpm -Uvh Anjuta 1.1.97。

            三、進行開發第一個Anjuta1.1.97上的C/C++的程序

          讓我們先用 Anjuta 建立一個簡單的Hello World 程序。

          建立一個新的項目

          先請打開 Anjuta。請選擇菜單項 編程-> 更多編程工具-->Anjuta IDE。GNOME應用程序精靈 "GNOME2.0 Application Wizard" 將會出現。盡管人們只要點擊“下一個”(Next)按鈕就可以,而不必去管精靈對話框上有些什么信息,這里還是希望您能讀一下對話框上的每一條信息。現在,在您讀完精靈第一步的對話框上的信息后,請按Next 按鈕。

          第二步非常關鍵。這里您需要決定您要建立的應用程序的類型。讓我們選擇 "Gnome2.0 project" ,然后繼續走下去。第三步要確定應用程序的基本配置。請非常仔細地填入應用程序的配置信

        息。在本教程中,請輸入以下信息。

          項目名稱: HelloWorld(程序項目名)注意項目名稱中間不能有空格。

          程序版本: 0.1(版本號)。

          程序作者: (你的名字)。

          程序名稱: helloworld(程序名)。

          程序語言: 有C,C++和C/C++三種選擇,這里選擇C。

          程序類型: 有三種選擇可執行程序,動態鏈接庫和靜態鏈接庫。

          第四步編寫項目的描述信息。

          第五步是項目的其他選項,GNU版權聲明和程序的本地化支持項,如果您不想要,您可以去除他們。您最好為本應用程序項目選擇一個圖標,該圖標將會出現在 GNOME 應用程序菜單中。這里我們選取 Hello World example作為項目名,在 Group 域選取 Applications。最后點擊 Next 按鈕和 Finish 按鈕。這時本應用程序項目就建立起來了。

          因為我們只是在建立一個例子程序,我們可以輕松前行。如果我們是在建立一個要在現實世界使用的應用項目, 那我們在填寫應用程序精靈每一步的參數時可要格外小心,因為它們對您的應用程序項目來說非常重要。

          設計用戶界面

          在與應用程序精靈對話結束之后,Anjuta 就開始建立您的應用程序項目的目錄結構,運行參數配置腳本并建立應用項目本身。整個創建過程的進行情況顯示在 Anjuta 開發環境的下部。創建過程結束后,屏幕的左邊示出應用項目樹結構。這個樹結構中包含您的源程序文件,說明文件和圖形文件。

          現在是啟動 GLADE 并用其設計圖形用戶界面的時候了。請到菜單項 項目->編輯圖形界面 去運行 GLADE。您將看到三個窗口: 1) Glade 主窗口,2) 屬性窗口,and 3) 繪圖工具窗口。

          取一個簡單的 GTK 視窗就行了。請點擊 Glade 主視窗上列出的第一項 (hello_app), 然后按 Del 刪除鍵。現在到工具視窗(Palette),點擊第一個圖標。這時一個空白的 GtkWindow 建起來了。這將是我們的應用程序的主視窗 window1。再到屬性視窗(Properties),敲入標題“Hello World!”。現在再到工具視窗上選取一個表格(table)2行2列放到主視窗 window1 上。這樣,主視窗被切分為同等大小的4個部分。

          現在再從工具視窗中取出兩個按鈕,分別加到主視窗下面的兩個框中。再把這兩個按鈕的名字和標簽屬性設置如下:

          左按鈕:

          名字: BT_OK

          標簽: OK

          右按鈕:

          名字: BT_EXIT

          標簽: Exit

          在視窗的上半部,左邊再加上一個標簽控件;在上半部右邊加上一個輸入框 Entry 控件。該輸入框的名字取為 ENTRY。將上述標簽控件的標簽屬性置為 Whats your name, sir?。

          現在在屬性視窗的屬性檔(Signals tab)上把兩個按鈕都和Clicked事件連接起來。使用GLADE預設的反向調用函數名。請不要忘記點擊 Add 按鈕.這種常見的錯誤會導致產生空白的 callbacks.c 文件。在源文件callbacks.c上,我們將會通過 Anjuta界面加入源代碼。

          現在,主視窗看起來似乎不那么漂亮。您可以試試改變視窗的寬度和高度,以及試試改改水平和垂直包容框的幾個屬性, 看看能不能讓視窗好看些。(注意:您可到菜單View,選擇控件樹,然后選擇控件。) 下面是一些屬性的設置:

          將下面的水平包容框的屬性 Homogeneous 置為Yes;

          將屬性視窗的定位檔的按鈕的屬性Fill 置為 Yes;

          將主視窗window1的屬性Grow置為No。

          設計好界面后,在Glade主視窗上點擊“存盤”按鈕,然后再點擊“聯編”按鈕. 這就按您新設計的界面更新了您的 應用項目的src目錄下的源文件 interface.c。現在,讓我們選菜單 Project -> Exit,回到 Anjuta 用戶界面下。開始編程啦!

            編輯程序

          現在回到 Anjuta 環境中來,您應該可以在屏幕左邊的項目源程序列表中看到 callbacks.c. 雙點擊打開該程序. 這樣我們在Anjuta集成開發環境的左邊就可以編輯該程序了。

          有時一事物如果是有色彩的話就會變得更容易理解、更有趣。Anjuta 的“語法強調色”功能 (在“Format”菜單上)就屬于這種情況. Anjuta還有很多很多有用的功能,您可以慢慢品玩。也許現在花點時間熟悉熟悉這個集成環境是很有好處的。

          現在回到 callbacks.c 文件,我們看到兩個反向調用函數: on_BT_OK_clicked 和on_BT_EXIT_clicked. 讓我們在第二個函數中加入一個函數調用:gtk_main_quit()。這樣,該函數變成:

               #ifdef HAVE_CONFIG_H
          #include
          #endif
          #include
          #include "callbacks.h"
          #include "interface.h"
          #include "support.h"
          void on_BT_OK_clicked(GtkButton *button, gpointer user_data)
          {
          gtk_main_quit();
          }

          這個函數調用的目的是當用戶點擊退出按鈕時,整個應用程序會結束。與此相仿,我們在 on_BT_OK_clicked函數中加入下列函數調用:

               void on_BT_OK_clicked (GtkButton *button, gpointer user_data)
          {
              GtkWidget *entry = lookup_widget (GTK_WIDGET(button), "entry");
              GtkWidget *msgbox = gnome_app_new("Hello World", "Hello World");
              gchar *text1, *text2;
              text1 = gtk_entry_get_text (GTK_ENTRY(entry));
              text2 = strcat ("Hello, ", text1);
              gnome_app_message (GNOME_APP(msgbox), text2);
          }

          生成目標代碼,執行,以及發行。

          現在到了測試您程序的時候了;這一定很有趣。先選擇菜單項創建->創建項目。這時Anjuta就開始編譯和鏈接項目里的源程序main.c, interface.c, support.c and callbacks.c,然后將產生的可執行文件hello放到 src 目錄。編譯器一般會用 gcc。

          如果您幸運,編譯過程沒有任何錯誤信息的話,請選菜單項“創建->執行程序”于是 Anjuta開辟一個終端視窗,并在其上運行您的應用程序 HelloWorld! 請在輸入框上輸入您的名字,然后點擊 OK 按鈕. 希望這時您的應用程序回您一個問候:Hello ... 您可再敲入一個問候詞,然后點退出按鈕 Exit,看看程序能否正常退出。如果正常退出,那真好! 您的辛勤勞動終于有了結果!



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巨野县| 囊谦县| 娱乐| 镇赉县| 梁平县| 新绛县| 乌审旗| 屯留县| 保德县| 库车县| 铜梁县| 哈尔滨市| 光泽县| 延川县| 象州县| 霍林郭勒市| 开封市| 永平县| 岫岩| 即墨市| 兴业县| 丹凤县| 青田县| 扶绥县| 水富县| 贵德县| 游戏| 北票市| 沭阳县| 金华市| 仙游县| 马鞍山市| 民权县| 苍南县| 霞浦县| 二连浩特市| 福州市| 尚志市| 高台县| 安吉县| 观塘区|