qt移植编译的参数和环境变量详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

-release

这个参数显而易见,就是编译Qt以发布版的模式进行,一般来说,最后系统完成后,库就应该是发布版。

-release

与上面对应,自然是调试版了,如果开发的话,可以选择它吧。

-debug-and-release

囧,上面那两个的儿子。

-developer-build

囧,我错了,开发者也可以用这个的,选了这个后,可以进行自动测试,不过还没去用过,以后可以研究研究。

-opensource

-commercial

这两个参数是指是编译是商业版本的,还是开源版本呢,视个人情况而定。

-shared

-static

这两个参数是指Qt的lib以动态还是静态编译生成,这自然也是视个人需要的。

-no-fast

-fast

这两个就很有关系,如果对自己的电脑性能很有信心,那就选第一个,那所有的工程文件都会生成到makefiles中,那编译的时间,估计可以看完变形金刚了。如果选第二个,那就加入子目录和库到makefiles,这样就能加快编译的速度。

-no-largefile

-largefile

顾名思义,支不支持大文件,一般来说,嵌入式里是不会有从超过4G的大文件的,那就选第一个吧。

-no-exceptions

-exceptions

计算机英语够好的人都该懂,这个自然就是异常情况,选则编译器支持抛出异常,否则不支持。

-no-accessibility

-accessibility

可访问性的支持,说实话,这个我真不知道有什么有用了。等哪天发现了,再来好好解释。-no-stl

-stl

是都加入stl的支持,stl,这应该算是C++程序员应该都了解了,再不济,那也总听说过大名吧。

no-sql--qt-sql-

-plugin-sql-

这个可要好好说明下,一般来说,对于一个优秀的项目开发,数据库是必不可少的,qt也自带了大多数数据库驱动,可以完美地支持数据库的使用。对于数据库的使用,我们可以直接qt驱动编译进去,或者以插件的形式编译进去。一般来说,最简单地就是直接编译进去,但使用插件形式的可以更加灵活,针对不同的需求将驱动插件添加。其中,<>代表的是驱动名,如果我想直接添加sqlite的支持话,形式如下:-qt-sql-sqlite。其他名称可以自己查看参

数里,有详细地介绍。

-system-sqlite

sqlite真受欢迎啊,当然那么优秀的嵌入式数据库,本人也是基本使用它来进行开发。这个参数意思是使用操作系统上的sqlite数据库,如果是不太会移植的,可以考虑直接使用qt 自带的驱动。

-no-qt3support

-qt3support

这个也是简洁易懂,加不加对qt3的支持。

no-xmlpatterns

-xmlpatterns

选择对xml的支持,如果对网络无需求的话,就不用加了。

-no-phonon

-phonon

phonon是qt中处理多媒体的模块,比如放放视频什么来着,不过本人从没用过,也是根据需要选择的。

-no-phonon-backend-phonon-backend

与上面类似,只不过这两是以插件的形式加入支持。

-no-svg

-svg

是否加入svg的支持,svg即可缩放矢量图形。

-no-webkit

-webkit

是否加入webkit的支持,这可是个好东西,不过如果跟网络不搭界的话,还是不支持吧。-no-scripttools

-scripttools

是否加入脚本工具的支持,这对php等脚本工程师来说是个很棒的参数,但对于我这样菜鸟,就别提了。

-platform target

目标平台,这可是关键了,如果不注意的话,编译出来是x86上的话,哪怕是再牛的嵌入式工程师来也没法帮你移植到开发板上。通常,本人是linux-arm-g++。-no-mmx

-no-3dnow

-no-sse

-no-sse2

这四个参数是针对CPU的指令集,老实说,我也不甚了解,不过,对于开发并不是影响很大。

-qtnamespace

把qt的库封装到命名空间,没啥重要用处,依个人爱好加吧。

-qtlibinfix

将所有的qt的.so库重命名,也没啥大用处。

-no-sql-

-qt-sql--plugin-sql-

-system-sqlite

这是相当明显的,如果这都看不出来,,囧,那您一定比我近视(本人800度近视。。)

就是说如果是-no-XX-,就说明编译时不选择这个参数,如过是-qt-XX-,说明我们可以编译直接选用qt自带的驱动,如果是-plugin-XX-,就是将驱动以插件形式编译,而-system-XXX,当然是使用操作系统提供的驱动,不过那就需要您自己移植了,而且有时还要用第三方的API,就方便来说非常麻烦,但是不排除您是牛人要好好玩玩的情况。

接下来,我们接着研究配置参数。

-qt-zlib

-system-zlib

想必经过上面的讲解,参数的意思已经很快得知,就是选择qt带的zlib库还是系统的zlib。zlib库是用于文件和资料压缩的库,对于新入嵌入式的人来说,可能并无太大的用处,但是在以后的实际开发中,特别是对于多媒体图像图形的工程师来说,就肯定用到,因为图形图像的压缩都要使用或涉及到这个库。

-no-gif-qt-gif

这是选择gif的支持,如果选择qt支持的话,那在用qt开发的项目中,就能显示gif图,gif 也是比较普遍的图片格式了,英文全称是Graphics Interchange Format。

-no-libtiff-qt-libtiff

-system-libtiff

tiff是一种非常复杂的光栅图像格式,并且有直接现成的C语言实现库,因此选择参数时就有了qt和system,一般来说,科学相关的开发里可能会用到。

-no-libpng-qt-libpng

-system-libpng

png的相关参数,一种非失真性压缩位图图形文件格式,其实就是为了替代gif搞出来的,也是随实际需要来选择,当然,也有C语言实现的库。

-no-libmng-qt-libmng

-system-libmng

大汗,大汗,这可是超级罕见的东西,QT竟然也能支持,说实话,这个参数我看来就是无视的。MNG是多帧PNG动画格式,结构极其复杂,基本没人用。

-no-libjpeg-qt-libjpeg

-system-libjpeg

jpeg,这么有名的图片格式也不用说了,随需要选择吧。

-no-openssl-openssl

-openssl-linked

SSL,Security Socket Layer,是一个安全传输协议,在Internet网上进行数据保护和身份确认,而OpenSSL是一个开放源代码的实现了SSL及相关加密技术的软件包,在qt中,我们可以选择直接支持,或者OpenSSL链接支持,这个参数也是为有需要者提供的。

以上是第三方库的参数选择,紧接着就是qt附加参数,在附加参数里,我们可以指定编译的部分及加入参数来获取信息。

-make-nomake

一句话,说明,就说我可以这两个参数选择哪些我要编译,哪些我不需要,在libs tools

相关文档
最新文档