当前位置:   article > 正文

Qt 之命令行编译(nmake)_qmake命令行编译

qmake命令行编译

作者: 一去、二三里
个人微信号: iwaleon
微信公众号: 高效程序员

前两节讲解了如何在 Visual Studio 和 Qt Creator 中搭建 Qt 开发环境,并分享了我们第一个小程序 - Hello World。

下面分享如何使用命令行来编译 Qt 程序。当然,MSVC 和 MinGW 的配置和编译过程相差无几。

新建

新建一个“HelloWorld.cpp”文件,编写代码:

#include <QApplication>
#include <QLabel>

int main(int argc,char **argv)
{
    QApplication app(argc,argv);
    QLabel label("Hello World!");
    label.setAlignment(Qt::AlignCenter);
    label.resize(400, 300);
    label.show();
    return app.exec();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

保存到指定位置(示例位置为 E:\HelloWorld)。

这里写图片描述

打开命令行

选择“Visual Studio Tools”,打开命令行。

这里写图片描述

这里写图片描述

生成 pro

切换到项目目录下,执行命令:

qmake -project QT+=widgets
  • 1

之所以要加 widgets 模块,是因为我们用到了 QApplication 和 QLabel,而这两个类是属于该模块的。

这里写图片描述

这时,在项目目录下会生成 .pro 项目文件:

这里写图片描述

使用 Notepad 打开,查看里面的内容:

######################################################################
# Automatically generated by qmake (3.0) ?? 11? 20 22:58:54 2015
######################################################################

QT+=widgets          #项目依赖的模块qmake -project QT+=widgets指定
TEMPLATE = app       #app代表可执行程序,及生成一个.exe
TARGET = HelloWorld  #可执行程序的名称HelloWorld.exe  
INCLUDEPATH += .     #包含路径为当前路径

# Input
SOURCES += HelloWorld.cpp  #项目包含的源文件
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

qmake

执行:

qmake
  • 1

这时,项目目录下会分别生成一个 debug 和 release 目录、以及 makefile 相关的文件。

这里写图片描述

nmake

执行:

nmake Debug Release
  • 1

编译完成后,在 debug 和 release 文件夹下会生成应用程序。

这里写图片描述

运行

  • 方式一:进入 debug 或 release 目录,直接双击 exe。

  • 方式二:命令行 cd release,HelloWorld.exe

这里写图片描述

超级简单,有木有 O(∩_∩)O~。

注意事项

  • 使用 cmd 命令行,提示:

'nmake’不是内部或外部命令,也不是可运行的程序或批处理文件。

解决方式:

  1. 在环境变量 PATH 中添加 nmake 的路径(D:\Program Files\Microsoft Visual Studio 12.0\VC\bin)。

  2. 运行 cmd 后,将“D:\Program Files\Microsoft Visual Studio 12.0\VC\vcvarsall.bat”拖拽进去,然后回车,继续运行上述步骤。

  • 双击运行程序,提示:

无法启动此程序,因为计算机中丢失 Qt5Core.dll。尝试重新安装该程序以解决此问题。

解决方式:请参考: Qt环境搭建(Visual Studio) 一节中“添加环境变量”。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/299992
推荐阅读
  

闽ICP备14008679号