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();
}
保存到指定位置(示例位置为”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’不是内部或外部命令,也不是可运行的程序或批处理文件。
解决方式:
在环境变量中添加nmake的路径(Path=D:\Program Files\Microsoft Visual Studio 12.0\VC\bin)。
运行cmd后,将”D:\Program Files\Microsoft Visual Studio 12.0\VC\vcvarsall.bat”拖拽进去,然后回车,继续运行上述步骤。
双击运行程序,提示:
无法启动此程序,因为计算机中丢失Qt5Core.dll。尝试重新安装该程序以解决此问题。
解决方式:请参考:Qt环境搭建(Visual Studio)一节中”添加环境变量”。
Qt之命令行编译(nmake)的更多相关文章
- 【Qt】命令行编译Qt程序(nmake)【转】
简述 前两节讲解了如何在Visual Studio和Qt Creator中搭建Qt开发环境,并分享了我们第一个小程序-Hello World. 下面分享如何使用命令行来编译Qt程序.当然,MSVC和M ...
- 从 C++ 到 Qt(命令行编译)good
从 C++ 到 Qt 转载自:http://hi.baidu.com/cyclone/blog/item/8f8f08fa52d22f8758ee9006.html Qt 是 C++ 的库,Qt在an ...
- 从C++到Qt(命令行编译,讲解原理)
Qt 是 C++ 的库,Qt 在 ansi C++ 的基础上进行了一点扩展. 但国内似乎比较浮躁,学Qt的很多连基本的C++如何编译似乎都不太清楚.本文舍弃IDE或qmake.cmake等工具的束缚, ...
- Windows下使用命令行编译Qt项目(解决DLL丢失问题)
一.前言 我之前用Qt做了个hello world,结果各种报错,一大堆DLL找不到,今天用命令行编译就通过了 二.准备工作 1.Visual Studio(有nmake就行) 2.Qt 3.把qma ...
- 使用命令行编译Qt程序
code[class*="language-"], pre[class*="language-"] { color: rgba(51, 51, 51, 1); ...
- 命令行编译工具NMAKE
简介 大家已经习惯于微软提供的功能强大的IDE,已经很少考虑手动编连项目了,所谓技多不压身,有空的时候还是随我一块了解一下命令行编译. C/C++/VC++程序员或有Unix/Linux编程经验应该很 ...
- namke 命令行编译
简介 大家已经习惯于微软提供的功能强大的IDE,已经很少考虑手动编连项目了,所谓技多不压身,有空的时候还是随我一块了解一下命令行编译. C/C++/VC++程序员或有Unix/Linux编程经验应该很 ...
- msvc交叉编译:使用vcvarsall.bat设置命令行编译环境
一直以来我只知道vc设置命令行编译环境的批处理命令是%VS140COMNTOOLS%/Common7/Tools下的vsvars32.bat,(%VS140COMNTOOLS%为定义vs2015公共工 ...
- 基于命令行编译打包phonegap for android应用 分类: Android Phonegap 2015-05-10 10:33 73人阅读 评论(0) 收藏
也许你习惯了使用Eclipse编译和打包Android应用.不过,对于使用html5+js开发的phonegap应用,本文建议你抛弃Eclipse,改为使用命令行模式,绝对的快速和方便. 一直以来,E ...
随机推荐
- [转载]Thread.Sleep(0)妙用
原文地址:http://blog.csdn.net/lgstudyvc/article/details/9337063 来自本论坛: 我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段 ...
- Hadoop伪分布模式配置
本作品由Man_华创作,采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可.基于http://www.cnblogs.com/manhua/上的作品创作. 请先按照上一篇文章H ...
- Asp.net与Flex交互测试记录
一.利用asp.net为Flex提供数据服务,flex为前端表现. 二.flex通过三种方式四种代码实现来取数据.分别为 HttpService. WebService. RemoteObje ...
- linux 上传/下载文件到windows工具
一般来说,linux服务器大多是通过ssh客户端来进行远程的登陆和管理的,使用ssh登陆linux主机以后,如何能够快速的和本地机器进行文件的交互呢,也就是上传和下载文件到服务器和本地: 与ssh ...
- 【linux】打印字符串中指定行
只打印第10行 关键在于当行数小于10时不输出. 用 head tail的关键问题是当行数小于10的时候用 head -n 10 只会打出前面的行,再用tail就错了. 所以要知道源文件一共有多少行. ...
- 无线Ad-hoc网络的关键技术之路由(转)
无线Ad-hoc网络的关键技术之路由http://network.51cto.com/art/201003/189719.htm
- BZOJ 1143 1143: [CTSC2008]祭祀river 最长反链
1143: [CTSC2008]祭祀river Description 在遥远的东方,有一个神秘的民族,自称Y族.他们世代居住在水面上,奉龙王为神.每逢重大庆典, Y族都会在水面上举办盛大的祭祀活动. ...
- SSH乱码和Xshell异常断开解决方法
一.SSH Secure Shell Client中文乱码的解决方法 这是SSH Secure Shell Client多年未解决的短板,要求客户端和服务器端都要‘UTF-8’编码,我终于知道Wind ...
- 2011 ACM-ICPC 成都赛区解题报告(转)
2011 ACM-ICPC 成都赛区解题报告 首先对F题出了陈题表示万分抱歉,我们都没注意到在2009哈尔滨赛区曾出过一模一样的题.其他的话,这套题还是非常不错的,除C之外的9道题都有队伍AC,最终冠 ...
- Android异步下载图片并且缓存图片到本地
Android异步下载图片并且缓存图片到本地 在Android开发中我们经常有这样的需求,从服务器上下载xml或者JSON类型的数据,其中包括一些图片资源,本demo模拟了这个需求,从网络上加载XML ...