Linux上搭建C/C++IDE开发环境
文/张善友
Redhatlinux上面没有提供Anjuta软件包,上面提供了一个Glade应用程序界面设计工具。Linux上面使用Anjuta和Glade以及Glademm软件包可以搭建一个linux下面进行C/C++软件开发的IDE环境,可以进行GTK+/Gnome的应用程序开发。
以前开发Linux程序时写出好的图形化用户界面比较难。在GIMP工具包(GTK)诞生之后,这件事就变得比较容易了。当DamonChaplin写出GLADE这个用于在GTK环境下生成图形化用户界面的工具后,就更容易了。但是GLADE仍然不能算是一个“集成开发环境”(如VisualBasic等等.),因为程序员不能在GLADE的环境下手动修改GLADE产生的代码。现在,这一切都已成为过去:Anjuta诞生了!
Anjuta利用GLADE生成优美用户界面的能力,加之以自己强大的源程序编辑能力,正成为一个极好的应用程序快速开发的集成环境(IDE)。以前,人们使用GLADE做界面,用emacs或vi等等编辑程序,再用某种终端模拟器编辑开发项目。使用Anjuta,所有这些繁杂零散的任务都可以在一个统一的、集成的、自然而然的环境下完成。
一、软件准备:
下载libzvt-2.0.1-0.ximian.6.6.i386.rpm
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
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
heanet.dl.sourceforge.net/sourceforge/anjuta/anjuta-1.0.2-1.i386.rpm
下载gtkmm2-2.2.3-fr1.i386.rpm
ftp.freshrpms.net/pub/freshrpms/redhat/9/gtkmm2/gtkmm2-2.2.3-fr1.i386.rpm
下载gtkmm2-devel-2.2.3-fr1.i386.rpm
ftp.freshrpms.net/pub/freshrpms/redhat/9/gtkmm2/gtkmm2-devel-2.2.3-fr1.i386.rpm
下载libsigc++-1.2.5-fr1.i386.rpm
ftp.freshrpms.net/pub/freshrpms/redhat/9/libsigc++/libsigc++-1.2.5-fr1.i386.rpm
下载glademm-1.1.3d-SNAP.i586.rpm
loban.caltech.edu/gchch/glademm-1.1.3d-SNAP.i586.rpm
下载libsigc++-devel-1.2.5-fr1.i386.rpm
ftp.freshrpms.net/pub/freshrpms/redhat/9/libsigc++/libsigc++-devel-1.2.5-fr1.i386.rpm
二、安装软件包
安装redhatlinux9选择安装上软件开发项,这样就安装上了Glade,然后以root用户登陆,安装如下软件包。
rpm-ivhlibzvt-2.0.1-0.ximian.6.6.i386.rpm//anjuta的依赖软件包
rpm-ivhibsigc++-1.2.5-fr1.i386.rpm
rpm-ivhgtkmm2-devel-2.2.3-fr1.i386.rpm
rpm-ivhibsigc++-devel-1.2.5-fr1.i386.rpm
rpm-ivhgtkmm2-2.2.3-fr1.i386.rpm
rpm-ivhglademm-1.1.3d-SNAP.i586.rpm
rpm-ivhanjuta-1.0.2-1.i386.rpm
rpm-Uvhanjuta-1.1.97-1.rh90.i386.rpm
注:直接安装anjuta-1.1.97会发现无法编译软件,这里要注意的几个问题
1、要安装Ximian版本的libzvt软件包,就是要安装我上面提到那个
2、要先安装Anjuta1.0.1,然后才updatedviarpm-UvhAnjuta1.1.97
三、进行开发第一个Anjuta1.1.97上的C/C++的程序
让我们先用Anjuta建立一个简单的HelloWorld程序.
建立一个新的项目
先请打开Anjuta。请选择菜单项编程->更多编程工具-->AnjutaIDE。GNOME应用程序精灵"GNOME2.0ApplicationWizard"将会出现。尽管人们只要点击“下一个”(Next)按钮就可以,而不必去管精灵对话框上有些什么信息,这里还是希望您能读一下对话框上的每一条信息。现在,在您读完精灵第一步的对话框上的信息后,请按Next按钮。
第二步非常关键。这里您需要决定您要建立的应用程序的类型。让我们选择"Gnome2.0project",然后继续走下去。第三步要确定应用程序的基本配置。请非常仔细地填入应用程序的配置信息。在本教程中,请输入以下信息。
项目名称:HelloWorld(程序项目名)注意项目名称中间不能有空格
程序版本:0.1(版本号)
程序作者:(你的名字)
程序名称:helloworld(程序名)
程序语言:有C,C++和C/C++三种选择,这里选择C
程序类型:有三种选择可执行程序,动态链接库和静态链接库.
下面第四步编写项目的描述信息;
第五步是项目的其他选项,GNU版权声明和程序的本地化支持项,如果您不想要,您可以去除他们。您最好为本应用程序项目选择一个图标,该图标将会出现在GNOME应用程序菜单中。这里我们选取HelloWorldexample作为项目名,在Group域选取Applications。最后点击Next按钮和Finish按钮。这时本应用程序项目就建立起来了。
因为我们只是在建立一个例子程序,我们可以轻松前行。如果我们是在建立一个要在现实世界使用的应用项目,那我们在填写应用程序精灵每一步的参数时可要格外小心,因为它们对您的应用程序项目来说非常重要。
在与应用程序精灵对话结束之后,Anjuta就开始建立您的应用程序项目的目录结构,运行参数配置脚本并建立应用项目本身。整个创建过程的进行情况显示在Anjuta开发环境的下部。创建过程结束后,屏幕的左边示出应用项目树结构。这个树结构中包含您的源程序文件,说明文件和图形文件。
图1
现在是启动GLADE并用其设计图形用户界面的时候了。请到菜单项项目->编辑图形界面去运行GLADE。您将看到三个窗口:1)Glade主窗口,2)属性窗口,and3)绘图工具窗口。
取一个简单的GTK视窗就行了。请点击Glade主视窗上列出的第一项(hello_app),然后按Del删除键。现在到工具视窗(Palette),点击第一个图标。这时一个空白的GtkWindow建起来了。这将是我们的应用程序的主视窗window1。再到属性视窗(Properties),敲入标题“HelloWorld!”。现在再到工具视窗上选取一个表格(table)2行2列放到主视窗window1上。这样,主视窗被切分为同等大小的4个部分。
现在再从工具视窗中取出两个按钮,分别加到主视窗下面的两个框中。再把这两个按钮的名字和标签属性设置如下:
左按钮:
名字:BT_OK
标签:OK
右按钮:
名字:BT_EXIT
标签:Exit
在视窗的上半部,左边再加上一个标签控件;在上半部右边加上一个输入框Entry控件。该输入框的名字取为ENTRY。将上述标签控件的标签属性置为"What"syourname,sir?"。
现在,主视窗看起来似乎不那么漂亮。您可以试试改变视窗的宽度和高度,以及试试改改水平和垂直包容框的几个属性,看看能不能让视窗好看些。(注意:您可到菜单View,选择控件树,然后选择控件。)下面是一些属性的设置:
*将下面的水平包容框的属性Homogeneous置为Yes;
*将属性视窗的定位档的按钮的属性Fill置为Yes;
*将主视窗window1的属性Grow置为No.
把这些属性改来改去后,我的主视窗的样子如下:
图2
设计好界面后,在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()。这样,该函数变成:
#ifdefHAVE_CONFIG_H
#include
#endif
#include
#include"callbacks.h"
#include"interface.h"
#include"support.h"
voidon_BT_OK_clicked(GtkButton*button,gpointeruser_data)
{
gtk_main_quit();
}
voidon_BT_OK_clicked(GtkButton*button,gpointeruser_data)
{
GtkWidget*entry=lookup_widget(GTK_WIDGET(button),"entry");
GtkWidget*msgbox=gnome_app_new("HelloWorld","HelloWorld");
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.candcallbacks.c,然后将产生的可执行文件hello放到src目录。编译器一般会用gcc。
如果您幸运,编译过程没有任何错误信息的话,请选菜单项“创建->执行程序”于是Anjuta开辟一个终端视窗,并在其上运行您的应用程序HelloWorld!请在输入框上输入您的名字,然后点击OK按钮。希望这时您的应用程序回您一个问候:Hello...您可再敲入一个问候词,然后点退出按钮Exit,看看程序能否正常退出。如果正常退出,那真好!您的辛勤劳动终于有了结果!
这时您可把您的应用程序安装到视窗系统中去:选菜单项创建->安装尽管您现在也许并不想为您的应用程序创建一个tarball文件,但也许以后您要发行软件时就需要这样做了。在发行应用程序前,务必要填好TODO,ChangeLog,INSTALL和README这几个文件。要创建一个应用程序的发行版,请点击创建->创建发行套件创建过程也许会持续几秒钟,最终会在/home/(username)/Projects/helloworld/目录下建立一个文件helloworld-0.1.tar.gz。
相关文章
- Linux窗口API:开启更灵活的开发革命(linux窗口api)
- Linux配置路由器:设置IP网关(linux配置ip网关)
- 掌握Linux远程连接服务器技术(linux远程连接服务器)
- Linux驱动开发实现过程:简单步骤指南(linux驱动开发步骤)
- Linux实例开发指南:快速掌握实用技能(linux实例开发)
- 部署「Linux 一键部署:实现简单快速的开发环境配置」(linux一键环境)
- Linux嵌入式开发:一个有效而实用的工具集(linux嵌入式工具)
- Linux静默安装:简便而又高效的安装方式(linux静默安装)
- Linux嵌入式开发入门指南(linux嵌入式开发书籍)
- 版开启Linux之旅:享受红帽桌面版带来的乐趣(红帽linux桌面)
- Linux下串口驱动程序开发实践(linux串口驱动程序)
- 管理Linux分支管理指南:实现高效代码开发(linux的分支)
- 『Linux内核编译入门:活学活用命令』(编译linux内核命令)
- Linux 开发:全面的培训视频(linux开发培训视频)
- 如何在Linux系统中修改最大进程数(linux修改最大进程数)
- Linux自动同步时间:最简单的设置方法(linux 自动同步时间)
- Linux驱动开发:从入门到初步解谜(linux 驱动详解)