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

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 Qt桌面图软件设计

第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 的应用程序需要明确的是:应用程序执行的目录必须是同一个目录,

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档