Redhat Linux9 Gnome桌面上搭建C/C++IDE開發環境(轉)

post0發表於2007-08-11
Redhat Linux9 Gnome桌面上搭建C/C++IDE開發環境(轉)[@more@]

 張善友(shanyougz@21cn.com) 軟體開發工程師

  原文在我的網站

  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

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

下載anjuta-1.0.2-1.i386.rpm

下載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

下載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。請選擇選單項 程式設計-> 更多程式設計工具--&gtAnjuta 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。將上述標籤控制元件的標籤屬性置為 'What's 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,看看程式能否正常退出。如果正常退出,那真好! 您的辛勤勞動終於有了結果!

  這時您可把您的應用程式安裝到視窗系統中去:選選單項 建立->安裝儘管您現在也許並不想為您的應用程式建立一個tarball檔案,但也許以後您要發行軟體時就需要這樣做了。在發行應用程式前,務必要填好 TODO,ChangeLog, INSTALL 和 README 這幾個檔案. 要建立一個應用程式的發行版,請點選 建立->建立發行套件建立過程也許會持續幾秒鐘,最終會在 /home/(username)/Projects/helloworld/ 目錄下建立一個檔案 helloworld-0.1.tar.gz

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-944644/,如需轉載,請註明出處,否則將追究法律責任。

相關文章