文档详情

第4章 Qt桌面图软件设计.pdf

发布:2017-09-15约7.29万字共50页下载文档
文本预览下载声明
第4 章 Qt 桌面软件设计 4.1 X11 窗口系统信息 UNIX 操作系统有很多种类,在UNIX 上开发软件是一个复杂的话题。 当我们开始编程的时候,需要注意一次开发后需要在不同的UNIX 操作系统上编译通过, 你不可能在 IRix 上开发了软件又到AIX 系统上去运行。这就需要使用跨平台的编译器来解 决跨平台编译通过的问题。 1.静态的连接 静态连接是最安全的也是最容易的一种方法,它为开发完成的库文件提供了一个制定的 地点,应用程序可以查找目录或者目标系统的库目录。 2 .建立一个静态的Qt 库 使用下面的方法来建立和安装一个静态版本的Qt 库。 cd/path/to/Qt ./configure –static –prefix /path/to/Qtother parameters make sub-src 在这里使用prefix 指定了一个安装的目录,这样它就不会负载以前的安装。上面的例 子只是建立了一个 Qt 库,当使用make 命令之后,将会在所指定的库目录下发现所有的 Qt 库。 当一个应用程序需要加载静态Qt 库的时候,需要在工程文件中的LIBS 变量中声明。 3 .将静态Qt 库连接到应用程序 当Qt 建立了静态的库,下一步就是建立一个 makefile 并重新编译一个应用程序,首先 要做的是要转到包含应用程序的目录。 cd /path/to/Qt/examples/tools/plugandpaint 第 章 桌面软件设计 4 Qt 117 ║ 下面就是使用qmake 为应用程序建立makefile ,并做一个完整的连接来执行操作。如果 需要连接一些发行的库,就需要调用qmake,并设置我们所要建立静态库的目录。 在这里,使用Linux 下的ldd 工具来检测应用程序是否已经连接到库文件中。下面是实 现的代码。 ldd ./application 这会在命令行的提示信息中给我们提示相关的输出。 这样就可以保证一个应用程序编译与连接没有错误,一个插件程序 plugandpaint 文件就 被开发出来了。要检测一个应用程序是否已经支持独立的库,最好的办法就是将这个编译好 的应用程序放置到其他的平台上安装并运行。 在这里需要注意的是,一个应用程序的运行依靠的是一个编译器和特定的库文件,当用 户需要重新发布自己的应用程序时,它们需要重新被指定。 4 .共享库 使用共享库有两种方法,一种是在应用程序执行的时候加载,另外一种方法是作为一种 插件的模式防止到目标系统的本地,这样应用程序就可以找到这个插件。 5 .构建一个Qt 的动态链接库 在这里我们已经安装了所有的Qt 的库文件,它是在安装Qt 的同时被默认安装的。 6 .将Qt 的动态库连接到一个应用程序 保证所有的Qt 的动态库都被构建完成之后,通过一个pluspaint 的应用程序来演示,首 先要跳转到包含这个应用程序的目录当中。 cd /path/to/Qt/examples/tools/plugandpaint 下面是使用qmake 为应用程序来新建立一个makefile 。 make clean qmake -config release make 下面是建立一个插件的完整过程。 cd../plugandpaintplugins make clean qmake -configr elease make 如果以上的编译和连接都没有报错的话,就会执行plugandpain 来测试libpnp_basictools.so 与libpnp_extrafilters.so 插件文件。 7.建立一个应用程序包 在UNIX 操作系统上没有标准的包用来建立一个应用程序,因此只有通过编译源代码的 方式来安装程序。 为了发行一个 Qt 的应用程序需要明确的是:应用程序执行的目录必须是同一个目录,
显示全部
相似文档