选择显示字体大小

linux 搭建c/c++ide开发环境


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://he.net.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) 绘图工具窗口。[/showimg.asp?p=/2006-4-5/5912918a79518.jpg]

   取一个简单的 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.

   把这些属性改来改去后,我的主视窗的样子如下:[/showimg.asp?p=/2006-4-5/5140818a79519.jpg]



   设计好界面后,在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。

  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons