Qt 命令行编译(nmake)
简述
前两节讲解了如何在 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();
}
保存到指定位置(示例位置为 D:\HelloWorld)。
打开命令行
选择“Visual Studio Tools”,打开命令行。
生成 pro
切换到项目目录下,执行命令:
qmake -project QT+=widgets
之所以要加 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 #项目包含的源文件
qmake
执行:
qmake
这时,项目目录下会分别生成一个 debug 和 release 目录、以及 makefile 相关的文件。
nmake
执行:
nmake Debug Release
编译完成后,在 debug 和 release 文件夹下会生成应用程序。
运行
方式一:进入 debug 或 release 目录,直接双击 exe。
方式二:命令行 cd release,HelloWorld.exe
超级简单,有木有 O(∩_∩)O~。
注意事项
使用 cmd 命令行,提示:
‘nmake’不是内部或外部命令,也不是可运行的程序或批处理文件。
解决方式:
在环境变量 PATH 中添加 nmake 的路径(D:\Program Files\Microsoft Visual Studio 12.0\VC\bin)。
运行 cmd 后,将“D:\Program Files\Microsoft Visual Studio 12.0\VC\vcvarsall.bat”拖拽进去,然后回车,继续运行上述步骤。
双击运行程序,提示:
无法启动此程序,因为计算机中丢失 Qt5Core.dll。尝试重新安装该程序以解决此问题。
解决方式:请参考: VS2013 + qt5.5 安装与环境配置) 一节中“添加环境变量”。
上一篇: idea使用maven编译正常但是运行项目时却提示很多jar包找不到
下一篇: ajax的缺点有哪些
推荐阅读
-
VS.net VSS时,编译报错:未能向文件“.csproj.FileListAbsolute.txt”写入命令行 对路径 的访问被拒绝。
-
Qt最新版5.12.2在Win10环境静态编译安装和部署的完整过程(VS2017)
-
C#命令行编译器配置方法
-
minGw64编译Qt时遇到too many sections问题
-
Windows环境下的RTKPlot_Qt版本编译时遇到的问题和解决方法
-
deepstream5.0 deepstream-test1四类别pipeline检测器-makefile转为Qt Creator工程编译(二)
-
通过Windows命令行编译运行C语言源文件
-
Linux命令行下编译Android NDK的示例代码
-
VS.net VSS时,编译报错:未能向文件“.csproj.FileListAbsolute.txt”写入命令行 对路径 的访问被拒绝。
-
交叉编译并移植tslib-1.21和QT4.8.5运行第一个嵌入式Qt程序