




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第Qtcreator中项目的构建配置和运行设置的步骤使用QtCreator集成开发环境构建和运行程序是一件非常简单的事情,一个按钮或者一个快捷键搞定全部,大家已经都了解了。但是,这些看起来简单的过程,背后到底发生了什么呢?
点击QtCreator项目模式,可以看到当前项目的配置界面:
在打开具体的项目之后,QtCreator的项目模式才会变得可用。对于打开的项目,比如HelloWorld项目,可配置的内容如上图左侧显示的五大类,分别是“BuildRun(构建和运行)”“编辑器”“代码风格”“依赖关系”“ClangStaticAnalyzer(Clang静态分析)”,最常用的就是“BuildRun”。
对于每个Qt套件,又可以分别配置构建时环境、命令和运行时环境、命令。如果需要给生成的可执行程序如*.exe附加命令参数,那就可以点击Qt套件名称下方的“Run”设置,给可执行程序附加参数。下面重点关注“Build”设置。
在“Build”设置里,上方组合框里可以选择构建类型(Debug、Release或者Profile),并且可以自己添加新的构建类型(一般没必要)。
影子构建(Shadowbuild)
接下来“概要”里面,QtCreator默认使用影子构建方式(Shadowbuild),这种构建项目的方式是将构建过程中的中间文件和目标程序都放到独立的构建目录中,实现源代码目录和构建目录的彻底分离,这对程序源代码的发布很方便,不会将构建过程中的中间文件混杂进来。
对于项目HelloWorld,它的源代码路径是D:\QtDemo\HelloWorld,而上图中影子构建的目录是在D:\QtDemo\build-HelloWorld-Desktop_Qt_5_9_0_MinGW_32bit-Debug,源码文件夹和构建文件夹都在父文件夹QtDemo里。
影子构建目录的命名规则是:build-项目名-构建套件名-构建类型。示范的项目名HelloWorld,套件名DesktopQt5.9.0MinGW32bit,构建类型为Debug,合成之后的构建目录里不能带空格和点号,所以把空格和点号都换成下划线,得到build-HelloWorld-Desktop_Qt_5_9_0_MinGW_32bit-Debug。项目构建时生成的中间文件和最终的目标程序都可以在影子构建目录里找到。
接着是“构建步骤”,前面提到过qmake编译程序的三板斧,因为pro文件已经由QtCreator生成好了,所以这时候编译程序只需要剩下的两板斧:
①用qmake生成Makefile到构建目录;
②在构建目录里面执行make(mingw32-make)。
对于这两板斧的细节可以点开qmake和Make两行右边的详情进行查看,这里不额外截图了,仅解释一下上图中qmake命令的选项参数:
-r选项是指递归检查项目文件夹的意思;
-specwin32-g++选项参数是指使用win32-g++定制脚本来生成Makefile,对于不同的编译器和操作系统平台会使用不同的定制脚本,win32-g++是专门针对Windows系统MinGW编译环境的定制脚本(实际的定制脚本位于QTDIR/mkspecs/win32-g++文件夹里);
"CONFIG+=debug"是指生成debug类型的目标程序,对于优化发行版,对应的就是“CONFIG+=release”,如果这两个CONFIG都不加,那么默认生成release类型的目标程序。
查看项目构建和项目运行时的实际情况
关于Qt项目构建的设置暂时介绍这些,接下来我们看看关于项目构建和项目运行时的实际情况。回到QtCreator编辑模式,点击最下面一排输出面板里的“编译输出”面板,可以看到生成项目过程中的编译、链接命令:
QtCreator实际使用的编译链接命令比我们之前演示的编译链接命令复杂太多了,之前使用的是极度精简的命令。如果项目的编译链接没有出问题,不用太在意“编译输出”面板里的东西,如果编译链接过程出错了,就需要查看“编译输出”面板里的问题了。虽然QtCreator编译链接命令复杂,但大致过程和《Qt.ui文件的使用》最后那张生成过程图是类似的。
与“编译输出”面板相比,“应用程序输出”面板更为常用,对于调试信息的输出、打印到命令行的输出等,QtCreator都会捕捉到,并显示到“应用程序输出”面板,如下图所示:
“应用程序输出”面板标题栏位置还有些小按钮,感兴趣的读者可以自己试试,有清空输出内容、重新运行程序、停止当前运行程序之类快捷功能。
最后说明一下目标程序的运行环境,如果希望从集成开发环境为生成的目标程序加命令行参数,那么需要用到项目模式的“运行设置”:
点击“Run”按钮,就会进入运行配置界面,可以看到上图几个关键的路径和参数设置:
路径/参数说明
Executable可执行程序路径,或叫目标程序路径,生成的exe文件为D:\QtDemo\build-HelloWorld-Desktop_Qt_5_9_0_MinGW_32bit-Debug\debug\HelloWorld.exe,如果进入该路径,直接运行exe文件,那么exe文件默认是无法正常运行的,因为缺少运行时依赖的动态库和环境变量。需要从开始菜单启动Qt命令行,然后从命令行启动exe才能正常运行。
Commandlinearguments目标程序的命令行参数,可以在这里手动添加命令行参数,这样每次QtCreator启动目标程序时都会附加该参数。
Workingdirectory目标程序工作路径,这里需要特别注意,目标程序既不是从源代码路径启动,也不是从它自己的可执行程序路径启动,而是从工作路径启动,这个工作路径默认与影子构建路径一样。因此,如果在程序代码里面使用相对路径操作文件,如“data.db”,那么这个文件应该放到工作路径,这样目标程序从QtCreator启动时,才能找到相对路径里的文件。
运行设置里面还有一个重要的设置就是RunEnvironment,运行时环境变量的设置,我们标出其中重要的变量如下:
读者一般对PATH环境变量比较熟悉,就是大量可执行程序*.exe和依赖库*.dll的路径,程序启动时会从PATH环境变量找寻依赖的dll并加载。Qt也为PATH添加了自己的依赖库路径,新增的有三个路径:
D:\Qt\5.9\mingw53_32\lib;
D:\Qt\5.9\mingw53_32\bin;
D:\Qt\Tools\mingw530_32\bin;
第一个是编译时依赖库的路径,第二个是Qt库自己可执行程序和动态库路径,第三个是MinGW编译环境的可执行程序和动态库路径。
除了PATH环境变量,Qt库专属的QTDIR环境变量也很重要,Qt程序运行时不仅依赖*.dll,还依赖Qt库里面的插件、翻译文件、设置文件等等,QTDIR是Qt库的总目录,Qt程序根据这个总目录自动去找寻子文件夹,子文件夹会包含Qt程序运行时依赖的其他东
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年软考信息系统集成试题及答案
- 行政管理考场策略动员试题及答案
- 行政法学中法律人文的探索试题及答案
- 2025年网络管理员考试应对策略试题及答案
- 虚拟网络管理试题及答案
- 高标准农田建设项目全面评估与实施方案
- 企业法律风险与战略管理的课程研究试题及答案
- 行政法学理念探讨试题与答案
- 音乐教研教师心得(4篇)
- 电厂实习工作心得体会(3篇)
- 苏教版译林小学英语人物Word可打印头像
- 化验员培训-实验室建设课件
- 工作票票样(配电)模板
- DB11-381-2016既有居住建筑节能改造技术规程
- JJF 1934-2021 超声波风向风速测量仪器校准规范
- AS1657-1992---固定平台、走道、楼梯与梯子的设计、施工与安装
- 地形图的识别及应用与涉密地图的保密管理(课堂PPT)
- 机电传动控制期末考试试卷试题及答案
- 电大汉语言文学专业本科社会实践调查报告
- 高级英语第一册Unit2Hiroshima课后练习答案
- 地下停车场交安设施施工方案_车库交通安全设施施工方案_标志_标线_交通设施00000
评论
0/150
提交评论