4.3 Eclipse

Eclipse 和 Qt 的结合起来使用,也是很常见的形式,Nokia 专门为此开发了插件。 Eclipse 的官方网站是:http://www.eclipse.org/,在上面可以很容易的下载到各种你需 要的版本,目前的最高版本为 3.5 Galileo。

4.3.1 简介

Eclipse 是著名的跨平台的开源的集成开发环境( IDE)。Eclipse 的本身只是一个框架平台,最初主要用来 Java 语言开发,但是众多插件的支持使得 Eclipse 拥有其他功能相 对固定的 IDE 软件很难具有的灵活性。许多软件开发商以 Eclipse 为框架开发自己的 IDE,比如 Nokia 的 Carbide.c++(后面我们还会讲到它),现在它已经发展成为支持其他多种计 算机语言如 C++和 Python 的优秀 IDE。

Eclipse 启动后的画面如图 4-2 所示。

4.3.2 主要特点

Eclipse 的主要特点如下:

  • 良好的扩展性

    图 4-2 eclipse 启动画面

    这要归功于 Eclipse 首创的插件机制,Eclipse 的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于 Eclipse 核心之上。Eclipse 基本内核包 括:图形 API (SWT/Jface), Java 开发环境插件(JDT),C/C++环境插件插件(CDT), 开发框架环境(PDE)等。

  • 强大的支持

    Eclipse 最初是由 IBM 公司开发的替代商业软件 Visual Age for Java 的下一代 IDE 开 发环境,2001 年 11 月贡献给开源社区,现在它由非营利软件供应商联盟 Eclipse 基金会(Eclipse Foundation)管理。众多的业界巨头对 Eclipse 非常看好,并且持续投入巨资以支持研发和管理。

    除了商业公司的青睐,Eclipse 还得到来自世界各地的爱好者组成的众多开源社区的 支持,几乎每天都有新的插件和功能产生,而 Eclipse 基金会的管理也非常有序,基于 Eclipse 的成功应用屡见不鲜,这些都使得 Eclipse 成为最受欢迎的优秀 IDE 之一。

  • Qt 工程可以跨平台使用

    Eclipse 虽然不能解析 qmake 文件,但是使用它建立的同一个工程可以在 Windows、Linux 和 Mac OS X 使用。这就大大简化了移植应用程序的过程,与 Qt 的理念不谋而合。

  • 代码提示功能突出

    与 Qdevelop 等其他 IDE 比较起来,Eclipse 没有使用 CTags 作为代码提示工具,因而在 进行代码提示的时候速度更快,CPU 资源占用更少.并且 Eclipse 中的提示内容更加的准确和 完整。

Eclipse 也有一些不足之处,主要是两点。一是耗费系统资源较多,这与它的机制和 Java 的运行效率有关;二是对 Qt 的支持还不是很完善,这与它的设计理念有关,它 的初衷 只是提供一个可扩展的框架,许多的功能还是要其他厂商或开发者自己完善。

具体使用时的感觉就是用 Eclipse 开发程序,机器要有较好的配置,内存一定要多一 些,否则程序的运行速度将比较缓慢,开发效率不高。

总的来说,Eclipse 是一个很好的 Qt IDE,它也是 qtsoftware 官方网站上推荐的 IDE 之一。良好的扩展性以及众多业界巨头的和开源社区的支持,都使 Eclipse 值得信赖和推 荐。

4.3.3 安装与配置

Eclipse 本身的安装比较容易,但与 Qt 结合起来就需要一定的步骤了,尤其是在 Windows 平台上面。一般很少有人在 Linux 平台上使用 Eclipse 开发 Qt 程序,这主要是由 于如果采用编译安装的方法的话,有太多的依赖问题需要解决,而如果使用发行版自带的 Eclipse 的话,又存在与 Qt 版本的对应问题。在 Mac OS X 上同样存在类似的问题,开发者 一般使用 Xcode。所以使用 Eclipse 一般是在 Windows 这个单一平台上,并且是选择 Windows XP 以上的版本。我们就以 Windows XP SP2 中文版和最新的 Qt 4.5.2 为例,向大 家介绍如何使用 Eclipse 开发 Qt 应用程序。

首先看看需要准备那些软件包,表 4-1 描述了需要安装的软件包和下载地址。

表 4-1 需要的软件包

软件包 说明 下载地址
JRE Java 运行环境 http://java.sun.com/javase/downloads/
MinGW C++编译器和调试器 http://sourceforge.net/
Qt OpenSource Qt 库 http://www.qtsoftware.com/downloads-cn
Eclipse 支持 C++开发的版本 http://www.eclipse.org/downloads
Qt Eclipse Integration for C++ Qt 与 Eclipse 的集成工具 http://www.qtsoftware.com/developer/eclipse-integration

安装过程如下:

第 1 步,确定安装顺序

由于 Eclipse 需要 JRE 才能运行,而 Qt Open Source 也依赖于 MinGW,所以我们按照下面的顺序安装软件包:JRE、MinGW、Qt Open Source 、Eclipse、Qt Eclipse Integration for C++。

第 2 步,安装 JRE

这里需要 JRE1.5 以上,我的选择是直接下载安装 JDK,其中包含了 JRE。安装方法可 以参考第 2 章,一路点击【Next】按钮,只是在设置安装路径时,不要选择带有空格和特 殊字符的就好。

第 3 步,安装 MinGW

MinGW 的安装也与第二章的方法相同,需要安装 DevCpp,或者选择在下面安装 Qt 时, 自动由 Qt 安装程序从网络上下载并安装,而不要自己下载安装最新的 5.1.4 版 MinGW。

第 4 步,安装 Qt 库

Qt Open Source 版可以选用 SDK,这样就不用先安装 MinGW 了。也可以选择框架,如 图 4-3 所示,在 qtsoftware 网站上,选择“下载用于 Windows 的 qt 库 4.5(60 Mb)”。 下载后的安装方法请看第 2 章。

图 4-3 下载 Qt 库

第 5 步,安装 Eclipse

去网站上下载 Eclipse,由于 Eclipse 项目众多,它的网站上下载列表项变得很长,让人困惑,如图 4-4 所示,我们要下载的包是那个”Ecilpse IDE for C/C++ Developers(79 Mb)”。你下载到的文件名字类似于 eclipse-cpp-galileo-win32.zip,是一个压缩包。解 开它后,只要你安装过了 JRE,就可以运行了。

图 4-4 下载 ecilpse&CDT

接下来把它解压缩到你的目录中,为方便起见,可以把它解到某个盘符的根目录下, 比如 C 盘,因为它会创建完整的路径,如图 4-5 所示。

图 4-5 解压缩到根目录

这样解压缩后,我的情形是在 C 盘根目录下建立了一个 C:\eclipse 目录,如图 4-6 所 示,里面展开了所有内容,只要你前面安装了 JRE,这时候双击 eclipse.exe,就可以运行 了。

图 4-6 安装 eclipse 完毕

第 6 步,安装 Qt Eclipse Integration for C++

先到 Qt Software 网站上下载安装程序,情形如图 4-7 所示,我们需要下载 Windows 版的。

图 4-7 下载 Qt Eclipse Integration for C++

然后开始安装,中间过程基本都是一路选择默认。需要注意的是,选择 Eclipse 时需 要选择它的根路径,而 MinGW 则需要指定它的 bin 目录。如果你是采用 SDK 安装的 Qt 库, 那么你需要如图 4-8 所示进行设置。

图 4-8 设置 eclipse 和 MinGW 的路径(SDK 方式安装 Qt 库)

如果采用框架方式安装,则你的设置应该如图 4-9 所示。

图 4-9 设置 eclipse 和 MinGW 的路径(框架方式安装 Qt 库)

接下来,就是一路按下【Next】按钮直至安装完成。 至此,Qt 和 Eclipse 的安装就完成了。

4.3.4 使用要领

1.软件的启动

你可以选择如下方式启动 Eclipse,依次点击菜单【开始】->【程序】->【qt eclipse integration】->【开始】,Eclipse 在弹出启动画面后,将进入如图 4-10 所示的主界面。

图 4-10 Ecilpse 成功启动

2.设置默认工作目录

在第一次启动 Eclipse 时,软件会要求设置默认工作路径,如图 4-11 所示在其中填入 你的路径即可。

图 4-11 设置默认工作目录

小贴士:设置完默认工作目录之后,系统就不会再提出此要求了。但日后要想更改的话, 却找不到设置这一项的地方。因为 Eclipse 在第一次运行时才会去 plugins 目搜索插件, 之后就不再找了。而 Eclipse 不知道是出于什么原因,没有提供修改的方法。经过摸索, 解决方法有两种。

一种就是删除 Eclipse 的 configuration 目录,让 Eclipse 以为还是第一次启动,它 就会去搜索 plugins 找 Qt 插件了。

第二种就是加参数运行 Eclipse。在命令窗口下执行 eclipse.exe -clean 命令,Eclipse 就会清除配置文件然后重新搜索插件配置。

3.如何安装调试库

如果采用 SDK 安装 Qt 库,就已经安装了 debug 和 release 的动态库;如果采用框架方 式安装 Qt 库,默认是不安装调试库的,如需运行 Debug 模式,可以进入到 Qt 的 bin 目录 里面,输入如下命令即可编译调试库。

qtvars.bat compile_debug

或者依次点击【开始】->【程序】->【Qt by Nokia v4.5.2(OpenSource)】->【Qt4.5.2(Build Debug Libraries)】,这需要几个小时的编译时间和大约 10 个 G 的硬盘空 间,要有耐心,还要有足够的硬盘容量。

4.如何建立 Qt 工程

在主菜单上如图 4-12 所示依次点击【File】->【New】,就会出现多种可供选择的 Qt 工程类型,根据你的想法进行选择即可 。

图 4-12 新建 Qt 工程

比如选择 Qt Gui Project,然后在出现的界面上放置一些常见控件,如图 4-13 所示, Qt Designer 已经无缝的集成到了 Eclipse 中。

图 4-13 Eclipse 中集成 Qt Designer 4.4Visual Studio 2008(含 Express 版)与 Qt 4.5(含 4.5 的所有版本)

这里我们以 MS Visual Studio 2008 版为例,说明与 Qt 4.5 的集成使用方法,该方法 也适用于 Express 系列。VS 2005 与 Qt 4.5 的集成配置方法与此类似,只是在安装 VS 2005 时,需要打上 SP1 的补丁。我们更为推荐使用 VS 2008。据 Qt Software 透露的消息,自 Qt 4.6 开始,Qt 将提供针对 MS Visual Studio 系列 的直接安装版本,这一举措将大大简化安装配置的过程。但是,该版本内置的功能不一定能 够满足开发者的需求,所以本文介绍的编译安装方法是具有普遍意义的,希望大家能够用心 掌握。

下面以 Windows XP SP2 中文版为例,介绍如何把这两者集成使用。

第 1 步,安装 MS Visual Studio 2008

这一步里面,需要注意的有两点。一是可以选择英文版或者是中文版,在整个的安装 过程中并没有大的差异。使用中文版时,无论是 VS 2008 还是 2005 都需要安装 VS 的 SP1 包,否则会出现错误,导致安装失败。笔者个人喜欢使用英文版;二是安装时,最好选择完 全安装的方式,当然不会用到的语言和模块比如 VB 和 C#等就可以不选,VC 的所有组件要 全部安装上去。在网上好多朋友安装时出现了一些问题,很多都与 VS 安装时没有安装完全 有关。

第 2 步,安装 Qt 4.5 的源码

在官方网站的下载地址上下载 Qt 的 SDK,采用默认设置安装(不熟悉的朋友可以参阅第 2 章),注意版本是随时可能更新的,官网地址是: http://www.qtsoftware.com/downloads。我们这里选择 LGPL/Free Downloads,然后选择 qt-win-opensource-src-4.5.0.zip 解压,假定解压到 E:\qt-win-opensource-src-4.5.0 ,注意解压路径不要包含空格、 中文名称以及其它特殊字符,解压后目录层次如图 4-14 所示。

图 4-14 解压后目录层次

第 3 步,配置环境变量 主要是设置两个环境变量,使用命令行方法如下:

set QTDIR=E:\qt-win-opensource-src-4.5.0
set path=%path%;%QTDIR%\bin

使用图形化设置的方法如下:

依次点击【我的电脑】->【属性】->【高级】->【环境变量】,弹出【环境变量】设 置对话框,如图 4-15 所示。

然后点击【新建】按钮,弹出【新建用户变量】对话框,在其中的输入框中填写: “变量名” --- QTDIR “变量值” --- E:\qt-win-opensource-src-4.5.0

图 4-15 添加 Qt 的用户变量

与上面的步骤相似,修改 PATH 环境变量方法如下:

如图 4-16 所示,选择【PATH】变量,然后点击【编辑】按钮,在【变量值】的最后面 输入:

;%QTDIR%\bin

注意最前面有一个分号(不是中文的分号,切记)。

图 4-16 编辑 PATH 变量

第 4 步,使用 VS 编译 Qt 源码

最好先为 Qt 的 SDK 准备一个目录,如我的是:E:\Qt\4.5SDK。注意将磁盘格式设置为 FAT 32 格式,NTFS 格式可能会对安装过程有影响。

然后就开始编译 Qt 4.5 的源码。

通过【开始】菜单 ->【Microsoft Visual Studio 2008】->【Visual Studio Tools】, 运行 VS 2008 命令行提示,中间过程如下:

C:\Program Files\Microsoft Visual Studio 9.0\VC> cd c:\Program Files\Microsoft Visual Studio 8\Common7\Tools>
C:\Program Files\Microsoft Visual Studio 8\Common7\Tools> vsvars32.bat
C:\Program Files\Microsoft Visual Studio 8\Common7\Tools> e:
E:\> cd e:\qt\4.5sdk\qt
E:\Qt\4.5SDK\qt> configure -platform win32-msvc2008 -debug-and-release
E:\Qt\4.5SDK\qt> nmake

使用目前主流机器配置,configure 这一步大概要用一小时。namke 大概要三个多小时。中间可能会有一些警告,可以不理会。

第 1 行和第 2 行,是配置 VC 的环境变量,如何知道环境变量已经配置好了呢?方法是在命令行下运行:

cl.exe /?

如果输出了 cl.exe 的帮助说明信息,则表示 vc 编译器环境变量设置成功。

小贴士:在命令行下,可以通过输入 set path 、 set include 和 set lib 等命令查 看 path、include、lib 环境变量的设置情况。

configure 命令主要是做两件事。

一是编译 qmake,并将编译好的 qmake.exe 拷贝到 bin 目录下(这就是要添加"%QTDIR%\bin ”到 PATH 环境变量中的原因)。

二是生成 makefile 文件(包括编译 qt 的 makefile 文件以及 examples、demos、tools 等的 makefiles 文件)。

configure 的使用是需要仔细琢磨的,可以通过加 -h 参数来看具体有哪些选项,有些 选项前面加*表示默认是选中的,+号表示由系统来判断是否支持该选项。表 4-2 列出了常 用的 configure 命令的常用参数。

表 4-2 configure 命令的常用参数

编译 shared 版(默认编译为 shared 版,不需要设置),并且 编译 debug 和 release 两个版本 -debug-and-release
使用 vc2008(包括 express 版) -platform win32-msvc2008
使用 qt 自带的 zlib、gif、libpng、libmng、libtiff、 libjpeg -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff - qt-libjpeg
编译数据库插件支持 sqlite、odbc(需要相应的 C/C++头文件 和库的支持) -plugin-sql-sqlite -plugin-sql-odbc
不支持 qt3 -no-qt3support
无 mmx 指令集支持 -no-mmx
无 3dnow 指令集支持 -no-3dnow
无 sse 和 sse2 指令集支持 -no-sse -no-sse2
无 direct3d 支持(默认不编译 direct3d) -no-direct3d
无 openssl 支持 -no-openssl
无 dbus 支持 -no-dbus
无 phonon 支持以及 phonon 向后兼容性支持 -no-phonon -no-phonon-backend
不编译 webkit 模块 -no-webkit
不支持脚本工具 scripttools -no-scripttools
不生成 sln 以及 vcproj 文件,只生成 makefile -no-dsp -no-vcproj

使用表中列出的参数,其对应的 configure 命令如下:

configure -debug-and-release -platform win32-msvc2008 -qt-zlib -qt-gif -qt-libpng -qt-libmng
-qt-libtiff -qt-libjpeg -plugin-sql-sqlite -plugin-sql-odbc -no-qt3support -no-mmx -no-3dnow
-no-sse -no-sse2 -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-webkit -no-
scripttools -no-dsp -no-vcproj

编译完成之后,最好进行清理以节省硬盘空间,在命令行下输入:

nmake confclean

这样清理完成之后,整个 qt 解压目录大小约为 800M 左右。

第 5 步,最后,将 Qt 路径添加到 VC 编译环境中。

依次打开【工具】->【选项】->【项目和解决方案】->【VC++目录】。 在包含文件一栏添加:

E:\qt-win-opensource-src-4.5.0\include\QtGui; E:\qt-win-opensource-src-4.5.0\include\QtCore; 
E:\qt-win-opensource-src-4.5.0\include

在库文件一栏添加:

E:\qt-win-opensource-src-4.5.0\lib

将 Qt 安装路径添加到 PATH 系统环境变量中,例如:E:\qt-win-opensource-src- 4.5.0\bin(这一步可以省略,在本文的前面已经设置好了)。

第 6 步,安装 Qt for VS 的插件

要使 VS 中能新建 Qt 的项目及增加相关菜单和支持拖拉控件,还要再安装一个 Qt for VS 的插件。

在 Qt 的官网上下载该插件,可能的名字为 qt-vs-addin-1.0.2.exe(以你下载到的版 本为准)。在安装插件的时候可能会报找不到 Qt 目录,不要管它,只要找准了你刚才编译 的 Qt 目录就可以了。

安装完之后,再次打开 VS2008,就能发现已经支持 Qt 了。 第 7 步,配置和使用 VS

最后需要做的一步是在 VS 中指定使用的 Qt 目录。如果你在 Windows 上安装了多个版 本的 Qt Source,在 VS 中你还可以选择使用哪个版本的 Qt 来编译你的应用程序。

打开【工具】->【选项】->【Qt】->【Builds】,新建或选择一个 Qt 版本。

另外,通过菜单【Qt】->【Open Solution from .pro File】,可以把一个原本 Qt 的非 VS 的项目转成 VS 的项目。

至此,Qt4.5 和 MS Visual Studio 的编译环境基本上配置完成了,可以进行开发了。