Linux有很多值得学习的地方,这里我们介绍Fedora Shell编程等方面它的最大的特点就是源代码开放,可以免费得到许多应用程序。目前也有中文版本的Linux,由网络操作系统的内核实现。
本文将介绍如何在Linux环境下作地者的联合开发。选择QT的开发环境:我建议选择KDevelop这样一个IDE开发环境,这样我们就可以不用自己手动去写很多工程文件 .可以节约很多时间。
那我们就先看看软件环境的构架吧:
开发环境搭建
(1)Kdevelop
KDevelop项目诞生于1998年,其最初的目的是为KDE提供一套功能强大的集成开发环境。此后,KDevelop采用GPL进行发布,它支持多种Fedora Shell编程语言,如:C/C++,Ada, Java, Pascal, Fortran, PHP, Perl, Fedora Shell编程, Python, Ruby,SQL等。截至作者写本文时,KDevelop的稳定版本为3.5.2,读者可以到以下官方网站下载
http://www.kdevelop.org/index.html?filename=3.5/download.html
KDevelop的源码安装与rpm包安装比较麻烦,需要事先安装好一系列的依赖软件,值得庆幸的是一般linux操作系统安装时都可以选择安装上kdevelop,则不必自己动手。当然,如果你安装系统时没有安装上kdevelop又不想处理软件包之间的依赖关系,就可以通过yum方式或者apt方式安装过。
(2)Qt Designer
Qt Designer是一个功能强大的GUI界面开发工具,它是挪威Trolltech公司的Qt图形软件包的一个组成部分。Qt Designer开发的快速应用程序,界面美观、性能优越,且具有优良的跨平台特性,支持几乎所有的平台。Qt Designer可以单独使用,也可以与微软的Visual Studio和Linux下的KDevelop集成在一起使用,具有快速预览界面、自动布局管理、扩展定制控件和自动生成代码等特点。其特有的信号/槽(Signals/Slots)机制可以进行事件处理和对象之间的消息传递,是Qt Designer的一个重要的特性。截至作者写本文档时,Qt的开源版本为4.4.0,读者可以到以下官方网站下载源代码:
http://wftp.tu-chemnitz.de/pub/Qt/qt/source/qt-x11-opensource-src-4.4.0.tar.gz
下载后,通过以下命令进行解压缩和安装:
# cd qt-x11-opensource-src-4.4.0
# ./configure
# make
# make install
QT默认安装在/usr/local/Trolltech/Qt-4.4.0目录。编译完后,源代码不要删除,在以后需要调试到源代码时还可以使用。安装可能需要比较长的时间。现在的Linux发行版一般带有Qt Designer,例如笔者的Fedora 8就自带Qt Designer 3,可以通过yum升级到Qt Designer 4,但是经作者测试yum qt4会造成系统X不稳定。Fedora Shell推荐用源代安装。
在Windows下,像Visual C++这样的开发工具已经包括了编辑器、编译器以及调试器等一系列的工具,它们是一个独立的整体。而在Linux下,KDevelop只是一个集成开发环境,当它要生成项目配置文件时需要调用GNU工具autoconf和antomake,当它编译程序时需要调用GCC或其他编译器,同时还有其他的GNU工具联合工作,它们是整个Fedora Shell编程操作系统的一部分,这与Windows下的开发工具是有区别的。因此,我们需要事先安装好这些工具。
安装好QT4后,为了更方便地使用QT,我们需要配置好环境变量。可以在用户的Fedora Shell编程启动文件中设置相应环境变量。如果用户使用的Fedora shell是bash,则可以在.bash_profile中加入:
export QTDIR=/usr/local/Trolltech/Qt-4.4.0
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
(3)BerKeley DB
从DB的官方站点http://www.sleepycat.com/下载最新的软件包db-4.6.21.tar.gz,解压到工作目录,进入该目录,依次执行下列三条命令即可。
../dist/configure
make
make install
执行make uninstall,则可卸载已安装的DB软件。
DB缺省把库和头文件安装在目录/usr/local/BerkeleyDB.4.6/下,使用gcc test.c -ggdb -I/usr/local/BerkeleyDB.4.6/include/ -L/usr/local/BerkeleyDB.4.6/lib/ -ldb -lpthread就可正确编译程序。BDB4.0和平共处。4.6的库是不兼容的。例如打开数据库函数DB->open(),在4.0版本中入参为6个,而在4.6版中则为7个(可自行比较两个库的头文件db.h中DB->open函数的定义)。因为在DB相关的应用程序中,open函数基本上都是要执行的,所以如果函数和版本不匹配,编译肯定会出错。当然,编译完成后,可以使用命令ldd查看库的依赖关系。
建立开发工程
在Linux系统中,Fedora Shell编程可以有多种方法实现工程程序编辑,此处将介绍利用IDE开发环境KDevelop工具建立开发工程。
(1)首先打开KDevelop后,选择菜单“工程”|“新建工程”。
(2) 在“新建新工程”对话框的“所有工程”选项卡中,选择“C++|QMake project|Basic Qt4 Application ”选择或者输入存放位置,输入应用程序名称,单击“下一步”按钮
(3)设置“工程选项”,在此处输入QT4的qmake和QT设计器的绝对路径,单击“下一步”按钮。
(4)在“.h文件的模板”选项中,可以设置头文件.h的格式。
(5)最后单击“完成”按钮,KDevelop会自动生成一个标准C++主程序。
(6)然后根据自己需要在右边的qmake管理器里添加头文件和源文件。
到此,KDevelop中已建立了一个KDevelop工程。也就完成了QT的基本开发环境构建。
编译工程
(1)qmake -project
(2)qmake
(3)make
(4)./phonebook(运行)
由于bdb与TTS的头文件与库需要加进来,故需要修改Makefile文件:
添加 -ggdb -I/usr/local/BerkeleyDB.4.6/include/到include头文件处(INCPATH后面)(注意格式)
添加 -L/usr/local/BerkeleyDB.4.6/lib/ -ldb –lpthread到LIBS后面。
【编辑推荐】