2.4 Qt程序的命令行编译方式


***【在线视频教程】***

好文章,来自【福优学苑@音视频+流媒体】

2.4 Qt程序的命令行方式

本篇内容主讲Qt应用从创建到发布的整个过程,围绕一个小小的HelloWorld程序开展,旨在帮助读者能够快速走进Qt的世界。

【拨开云雾见天日,守得云开见月明】

文章整体思路:

我们循序渐进地来看,一个Qt应用的完成有以下一个重要的步骤:

项目创建->源码编译->程序运行->发布程序

总结三部曲:

  • uic(处理资源),

  • qmake(处理Qt模块),

  • make(编译源文件)

2.4.1 步骤一:命令行编译ui文件并创建项目.pro文件

(1)新建文件夹作为项目文件夹,我建在了“E:\awork\qt\”,文件夹名称guiHelloWorldCmd。注意:路径中不能有中文。


(2)将之前用Creator创建的项目中的main.cpp文件和mydialog.ui文件复制guiHelloWorldCmd文件夹中。


(3)打开Qt 5.9.8 (MinGW 5.3.0 32-bit),执行“e: && cd E:\awork\qt\guiHelloWorldCmd"切换到guiHelloWorldCmd目录。

(4)编译ui文件。使用uic编译工具,从ui文件生成头文件。具体命令是:

              uic -o ui_widget.h widget.ui


(5)这时,项目文件夹中就生成了以ui开头的头文件,可以用记事本打开 ui_mydialog.h,查看其具体内容。


注:ui文件是用xml语言描述的界面文件,即我们在QtCreator设计模式中拖进去的那些部件组成的界面。此步骤的工作就是将ui文件转化成mingw编译器能看懂的.h头文件而已。


2.4.2 步骤二:构建项目.pro文件

(1)使用“qmake   -project”命令来生成pro工程文件,这时可以看到guiHelloWorldCmd目录中已经生成了hello.pro文件,此文件与项目文件夹guiHelloWorldCmd同名。


(2)使用记事本打开guiHelloWorldCmd.pro文件,在最后面添加一行代码:

                      QT += widgets


按下Ctrl+S保存该文件。这行代码的意思是:需要添加widgets模块。因为源文件中使用到的类都包含在这个模块中,例如:main函数中用到的QApplication类。如果你的Qt版本是Qt4,包含这个模块可能会出错,所以为了保证与Qt4的兼容性,建议使用以下的方式:

                    greaterThan(QT_MAJOR_VERSION,4): QT += widgets

意思是:如果Qt的版本大于4那么就添加widgets模块。注意保存!


2.4.3 步骤三:命令行编译生成exe

(1)命令行输入:qmake({Qt安装路径}\5.9.8\mingw53_32\bin),生成用于编译的Makefile文件。qmake之后生成共了三个文件、两个目录:


Dir:

      debug

      release       // 后面编译后的exe文件在这里面


File:

      Makefile     // 包含了编译信息

      Makefile.Debug

      Makefile.Release


(2)输入“mingw32-make"(路径:{Qt安装路径}\Tools\mingw530_32\bin)命令来编译程序,编译完后会在release目录中出现guiHelloWorldCmd.exe文件。(若想编译debug版本,只需要更改命令为:mingw32-make -f Makefile.Debug)。


(3)运行程序查看:.\release\hello.exe,程序完美运行!


好文章,来自【福优学苑@音视频+流媒体】
***【在线视频教程】***