问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Qt 软件中怎么自动加入build版本号

发布网友 发布时间:2022-04-22 16:44

我来回答

1个回答

热心网友 时间:2022-04-08 05:59

当进入解压好的源码包后,使用./configure –help命令,可以获得相应帮助,那我们只要选取参数部分看看-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-<driver>-qt-sql-<driver>-plugin-sql-<driver>这 个可要好好说明下,一般来说,对于一个优秀的项目开发,数据库是必不可少的,qt也自带了大多数数据库驱动,可以完美地支持数据库的使用。对于数 据库的使用,我们可以直接qt驱动编译进去,或者以插件的形式编译进去。一般来说,最简单地就是直接编译进去,但使用插件形式的可以更加灵活,针对不同的 需求将驱动插件添加。其中,<>代表的是驱动名,如果我想直接添加sqlite的支持话,形式如下:-qt-sql-sqlite。其他名称 可以自己查看参数里,有详细地介绍。-system-sqlitesqlite真受欢迎啊,当然那么优秀的嵌入式数据库,本人也是基本使用它来进行开发。这个参数意思是使用操作系统上的sqlite数据库,如果是不太会移植的,可以考虑直接使用qt自带的驱动。-no-qt3support-qt3support这个也是简洁易懂,加不加对qt3的支持。no-xmlpatterns-xmlpatterns选择对xml的支持,如果对网络无需求的话,就不用加了。-no-phonon-phononphonon是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-<driver>-qt-sql-<driver>-plugin-sql-<driver>-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-libtifftiff是一种非常复杂的光栅图像格式,并且有直接现成的C语言实现库,因此选择参数时就有了qt和system,一般来说,科学相关的开发里可能会用到。-no-libpng-qt-libpng-system-libpngpng的相关参数,一种非失真性压缩位图图形文件格式,其实就是为了替代gif搞出来的,也是随实际需要来选择,当然,也有C语言实现的库。-no-libmng-qt-libmng-system-libmng大汗,大汗,这可是超级罕见的东西,QT竟然也能支持,说实话,这个参数我看来就是无视的。MNG是多帧PNG动画格式,结构极其复杂,基本没人用。-no-libjpeg-qt-libjpeg-system-libjpegjpeg,这么有名的图片格式也不用说了,随需要选择吧。-no-openssl-openssl-openssl-linkedSSL,Security Socket Layer,是一个安全传输协议,在Internet网上进行数据保护和身份确认,而OpenSSL是一个开放源代码的实现了SSL及相关加密技术的软件 包,在qt中,我们可以选择直接支持,或者OpenSSL链接支持,这个参数也是为有需要者提供的。以上是第三方库的参数选择,紧接着就是qt附加参数,在附加参数里,我们可以指定编译的部分及加入参数来获取信息。-make-nomake一 句话,说明,就说我可以这两个参数选择哪些我要编译,哪些我不需要,在 libs tools examples demos docs translations这些里你可以选择,比如examples,并不重要,可以放在-nomake后,这样编译过程中就不会编译这部分了。通过适当的 选择,我们可以大大加快编译的速度,这对配置较差的机子来说有着积极意义。-R <string>-l <string>这两个参数是为编译时增加一个库的运行路径及头文件的路径,比如使用tslib作为开发触摸驱动时,我们就应使用这两个参数来指定tslib的库路径和头文件路径。-no-rpath-rpath这个参数比较难于理解,简单地说,就是告诉动态加载器,到-rpath指定的目录中寻找编译时须要的动态链接库,语法就与上面的参数结合,比如 -rpath -R/home/xxxx。-continue这个参数的作用就是当出现错误时依然进行配置编译,换我是不会加上的。-verbose, -v这个参数就很眼熟,在前面的文章中有过详细介绍,简言之,就是显示配置的每一步的具体信息。-no-optimized-qmake-optimized-qmake是否编译生成优化过的qmake,没啥大用,也属于可有可无的参数。-no-nis-nis是否编译NIS支持,NIS(网络信息服务)是一个提供目录服务的RPC(远程过程调用)应用服务,当然没网络需要的可以再次华丽地无视。-no-cups-cups是 否编译CUPS支持,是不是想问什么用啊?~~~~囧,开打印店用的。好了,不说冷笑话,CUPS给Unix/Linux用户提供了一种可靠有效 的方法来管理打印。它支持IPP,并提供了LPD,SMB(服务消息块,如配置为微软WINDOWS的打印机)、JetDirect等接口。CUPS还可 以浏览网络打印机。它的开发提供者是大名鼎鼎的“水果生产商”----苹果公司。-no-iconv-iconv选择是否编译iconv支持,iconv是一个计算机程序以及一套应用程序编程接口的名称。它的作用是在多种国际编码格式之间进行文本内码的转换。这对跨语言Qt开发人员来说是很有用的,当然,考虑到中文的编码,我也选择加入支持。-no-pch-pch是 否支持预编译过的头文件。预编译头就是把一个工程中的一部分代码,预先编译好放在一个文件里(通常以.pch为扩展名),这个文件就称为预编译头 文件。这些预先编译好的代码在工程开发的过程中不会被经常改变。如果这些代码被修改,则需要重新编译生成预编译头文件。妈妈经常说:不懂就要学。我说:不 懂就加上。。。no-dbus-dbus-dbus-linked是否编译编译QtDBus模块。dbus是freedesktop下开源的Linux IPC通信机制,本身Linux 的IPC通信机制包括,管道(fifo),共享内存,信号量,消息队列,Socket等。在Qt中DBUS是有单独的模块的,可见其重要性。 -rece-relocations 对于额外的库链接器优化,可以减少编译中的再定位。no-separate-debug-info-separate-debug-info是否存储debug信息在.debug,一般为了查错,还是选择存储吧。-xplatform target相当浅显的参数,即交叉编译的目标平台,一般来说根据你所要移植的目标板来确定。-no-feature-<feature>-feature-<feature>选 取qte的feature编译,对于这个,我理解为特性,特性的描述你可以参考src/corelib/global/qfeatures.txt,在这 里面对于每个特性都有比较充分的讲解。对于特性地选择,也是要根据开发需求进行,如果裁剪适当,能大大为qte库瘦身。-embedded <arch>嵌入式平台架构选择,可以选择arm,mips,x86及generic,视你的目标平台决定吧。-armfpa-no-armfpa这个参数也只是针对ARM平台的,是否加入对于基于ARM的浮点数格式的支持,通常,这个参数在编译时会自动选择。-little-endian-big-endian目标平台的大端和小端选择,这应该是常识了,如果这不知道,就不要来混嵌入式了-host-little-endian-host-big-endia主机平台的大端和小端选择,属于鸡肋的参数,不选择也会在配置时自动选择。-no-freetype-qt-freetype-system-freetype选择freetype,FreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,在嵌入式开发中,有套可使用的字体对于中文开发至关重要,本人一般使用文泉驿字体。-qconfig local使用本地的qconfig配置文件来替代全部参数配置,有需要的可以去研究下,可以裁剪控件级别的参数。-depths <list>显示的像素位深,也是根据需要来进行吧。-qt-decoration-<style>-plugin-decoration-<style>-no-decoration-<style>这个是选择qt的样式风格,对于需要美化界面的项目来说,可以好好选择下。-no-opengl-opengl <api>是否加入opengl的支持,OpenGL是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。不过对于一般的开发来说,似乎有很少用到的地方。-qt-gfx-<driver>-plugin-gfx-<driver>-no-gfx-<driver>这个是相当重要的一个参数,选择QtGui的图形显示驱动,比如我们在pc上使用qvfb模拟时,就应该加入对qfvb的支持。我们可以在 linuxfb,transformed,qvfb,vnc,multiscreen这几个中选择。在平常的开发板上,选择linuxfb即可。-qt-kbd-<driver>-plugin-kbd-<driver>-no-kbd-<driver>选择键盘的驱动支持,可以支持usb键盘,串口键盘等等,也是在tty,usb ,sl5000, yopy, vr41xx ,qvfb中选择。qt-mouse-<driver>-plugin-mouse-<driver>-no-mouse-<driver>鼠标的驱动支持,一般都会选择tslib,可以完美地支持触摸屏,在pc,bus,linuxtp,yopy,vr41xx,tslib,qvfb中选择吧。-iwmmxt加入iWMMXt指令的编译,也只是部分XScale架构才具有。-no-glib-glib是否加入glib库的支持,glib库对应即gtk库,就也是说加入后可以使用gtk。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
找专业防水队做完还漏水怎么维权 法院会受理房屋漏水造成的纠纷吗? 巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 我国古代有哪些书法家 qt怎么自动选择配置的define参数 详细介绍下迈阿密这个城市 如何编译qtfreetype.lib 画漫画是用什么笔,不是2B铅笔吧,有图吗? 枝江副市长张凯个人资料 我要找豆花的文 青年企业家张凯是不是很出名? 张凯的人物简介 三国演义的张凯是什么样的人物角色 张凯的经历 京剧演员窦晓璇和京剧演员张凯是夫妻吗? 张凯律师疫苗文章爆红收140万打赏后做了什么? 张凯的社会任职 谁能简单介绍一下青年企业家张凯? 张凯的简要介绍 张凯的介绍 张凯的国籍 张凯的简介 张凯的个人简历 硪国有那些著名的书法家? 怎么在Qt中用linux下安装都库 路由器和交换机区别在那啊?详细的讲解! QT5静态编译无法加载数据库插件 如何在Windows下构建ARM Linux QT开发环境 qt移植到s3c2440开发板上,出现too short的问题 丢失QtGui4.dall 网上下载的没用 我家WIN7 64位的 ubuntu下怎么安装qt creator-CSDN论坛 如何在ubuntu中安装qt程序 怎样在ubuntu下安装Qt开发环境 安装qt creator的环境 win7系统下Qt编译出错的解决方法 安装QT环境遇到这种情况怎么破 ubuntu 下的QT编程例子 visual stdio2008 安装qt库 链接时出现一个undefined reference to 问题,实在不懂为什么 python的pymol专家 MOS管和DCDC升压转换器的主要参数是···? 96V直流输入如何变成72V直流输出?求电路图。 晋江市各镇的人数姓氏分布!