Qt之命令行编译(nmake)

标签: Qt命令行Qt-nmakeQt-MinGWQt-cmdQt编译
8616人阅读 评论(3) 收藏 举报
分类:

简述

前两节讲解了如何在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) 一节中”添加环境变量”。

9
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人说明

    谈天、说地、侃代码、开车


    - You are not alone


    进步始于交流,收获源于分享。


    虽然能力有限,但努力无限。


    开源是一种精神,分享是一种美德。
    分享&&交流

    Qter,还在等什么,赶快加入吧!

    Qt分享&&交流 Qt分享&&交流
    QML分享&&交流 QML分享&&交流

    在线交流

    点击这里给我发消息 点击这里给我发消息
    个人资料
    • 访问:1757012次
    • 积分:21954
    • 等级:
    • 排名:第331名
    • 原创:381篇
    • 转载:3篇
    • 译文:2篇
    • 评论:1642条
    我的微博
    License
    博客专栏
    最新评论