Qt之命令行编译(nmake)

简介: 简述前两节讲解了如何在Visual Studio和Qt Creator中搭建Qt开发环境,并分享了我们第一个小程序-Hello World。下面分享如何使用命令行来编译Qt程序。当然,MSVC和MinGW的配置和编译过程相差无几。简述新建打开命令行生成 proqmakenmake运行注意事项新建新建一个”HelloWorld.

简述

前两节讲解了如何在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();
}

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

这里写图片描述

打开命令行

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

这里写图片描述

这里写图片描述

生成 pro

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

qmake -project QT+=widgets

切记后面加上指定的模块”QT+=widgets”,这相当于Visual Studio的Qt插件中Qt Project Settings里勾选了Qt modules的widgets模块。

这里写图片描述

这时,我们会发现项目目录下会生成.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  #项目包含的源文件

qmake

执行:

qmake

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

这里写图片描述

nmake

执行:

nmake Debug Release

编译完成后,debug和release文件夹下面会生成了对应的exe。

这里写图片描述

运行

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

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

这里写图片描述

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

注意事项

  • 使用cmd命令行,提示:

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

    解决方式:

    1. 在环境变量中添加nmake的路径(Path=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) 一节中”添加环境变量”。

目录
相关文章
|
7月前
|
编译器 C语言 Windows
cryptopp使用Qt mingw编译,以及海思平台交叉编译
cryptopp使用Qt mingw编译,以及海思平台交叉编译
190 0
|
7月前
|
开发框架 Unix Linux
深度探索:Qt CMake工程编译后的自动打包策略
深度探索:Qt CMake工程编译后的自动打包策略
409 0
|
3月前
|
C++
VS2019编译VTK-9.1.0+Qt5.15.2
本文介绍了在VS2019和Qt 5.15.2环境下编译VTK 9.1.0的过程,包括成功编译无警告和错误的截图、修改的pro文件内容,以及在QML中加入VTK的失败尝试和参考链接。
144 4
|
3月前
|
C语言 Android开发 C++
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
本文介绍了使用MTuner软件进行Qt MinGW编译程序的内存泄漏检测的方法,提供了MTuner的下载链接和测试代码示例,并通过将Debug程序拖入MTuner来定位内存泄漏问题。
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
|
3月前
|
C++
vtkdicom0.8_vtk9.2_dcmtk3.6.7_qt6.2编译OK
本文介绍了如何编译整合VTK 9.2、DICOM 0.8、DCMTK 3.6.7和Qt 6.2的步骤,包括安装Qt、CMake配置以及确认相关路径和版本设置。
vtkdicom0.8_vtk9.2_dcmtk3.6.7_qt6.2编译OK
|
3月前
|
Unix 网络虚拟化 C++
VS2022+Qt5.14.2成功编译MITK2022.10
使用VS2022和Qt5.14.2成功编译MITK2022.10的过程,包括编译结果的截图、遇到的编译问题的解决方法、两个重要的注意事项(patch文件格式的修改和ITK-gitclone-lastrun文件的存在),以及参考链接。文中详细描述了如何解决编译过程中遇到的错误C2220和警告C4819,以及如何修改文件编码和尾行格式。
201 1
VS2022+Qt5.14.2成功编译MITK2022.10
|
3月前
编译QCefView+VS2019+QT5.15.2
本文介绍了如何编译QCefView项目,并在VS2019和Qt 5.15.2环境下集成,包括编译结果、要点、cmake部署Qt的方法和相关参考链接。
168 1
编译QCefView+VS2019+QT5.15.2
|
3月前
|
人工智能
三战VS2019编译VTK7.1+Qt5.15.2
本文记录了作者在VS2019环境下编译VTK 7.1与Qt 5.15.2的历程,包括正确配置方法、遇到的编译错误以及解决过程。
|
3月前
|
人工智能 C++
初步编译QT5.15.2+VS2019+VTK8.2.0
本文介绍了在VS2019中编译QT 5.15.2和VTK 8.2.0的过程,包括编译结果、cmake库编译配置和cmake应用配置脚本,以及推荐的参考链接。
187 4
|
3月前
|
计算机视觉
vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录
这篇文章记录了使用VS2019编译Qt6.2.4、DCMTK3.6.7、VTK9.2.2、ITK5.3和OpenCV4.6.0的过程,包括下载和编译步骤,并提供了遇到编译错误时的解决方案和参考链接。
vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录