现在的位置: 首页 > 综合 > 正文

利用QT+BerkeleyDB作嵌入式完美开发(简介)

2013年04月12日 ⁄ 综合 ⁄ 共 3067字 ⁄ 字号 评论关闭

 一直想学习一套自己的开发图形界面的方法与工具,结果选择了QT因为它的开源与跨平台,一直感觉MySQL那样的数据库用来作小程序开发,太过浪费,而且不能随意移植,最后选择了BerkeleyDB,结合qt+bdb作面向用户的程序开发绝对完美,虽然网上似乎没有这方面 的例子,边QT都没有BDB这么出名的驱动,可能是因为sqlite的使用方便吧!毕竟大家都是先用关系型数据库的,所有有一种根深蒂回的SQL语句思想,一开始使用BDB总会感觉到一定的不适应,但是,很快你就会完全被BDB的那种简洁,高效的处理方式所吸引,你将从此喜欢上BDB这一强大而完美的数据库。
本文将介绍如何在linux环境下作地者的联合开发。
1.选择QT的开发环境:
我建议选择KDevelop这样一个IDE开发环境,这样我们就可以不用自己手动去写很多工程文件 .可以节约很多时间。
那我们就先看看软件环境的构架吧:
-----------------------
1.开发环境搭建
(1)Kdevelop
KDevelop项目诞生于1998年,其最初的目的是为KDE提供一套功能强大的集成开发环境。此后,KDevelop采用GPL进行发布,它支持多种编程语言,如:C/C++,Ada, Java, Pascal, Fortran, PHP, Perl, 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不稳定。推荐用源代安装。
在Windows下,像Visual C++这样的开发工具已经包括了编辑器、编译器以及调试器等一系列的工具,它们是一个独立的整体。而在Linux下,KDevelop只是一个集成开发
环境,当它要生成项目配置文件时需要调用GNU工具autoconf和antomake,当它编
译程序时需要调用GCC或其他编译器,同时还有其他的GNU工具联合工作,它们是整
个Linux操作系统的一部分,这与Windows下的开发工具是有区别的。因此,我们需要
事先安装好这些工具。
安装好QT4后,为了更方便地使用QT,我们需要配置好环境变量。可以在用户的shell启动文件中设置相应环境变量。如果用户使用的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查看库的依赖关系。

2.建立开发工程
在linux系统中,可以有多种方法实现工程程序编辑,此处将介绍利用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的基本开发环境构建。

3.编译工程
(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后面。

 

对于详细的开发讲解,请参考我的另一篇文章:《基于于berkeleydb+qt的智能语音电话薄管理系统

抱歉!评论已关闭.