使用.nmake的makefile是可以是用vs的nmake命令编译的,具体编译步骤如下:
1、添加nmake和cl目录到环境变量:
我的电脑->属性->高级系统设置->环境变量->系统变量,双击path,如下图所示:
根据vs2010的安装路径,在path中添加类似如下路径:
D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin打开cmd命令行,输入nmake和cl命令,检查是不不否配好,
如果分别出现以下信息,说明均已配好:
2、如果在运行cl时出现如下图所示错误:
这是由于cl的运行库未在系统中注册引起的,可以用以下两种方式注册:
1> 以1中的步骤,添加环境变量:
D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE2> 用管理员模式运行以下批处理文件:
D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat
3、编译make文件:
cd到源文件所在目录,使用命令nmake /F *.nmake编译makefile。
使用nmake /?查看命令的帮助。
参考文章:http://www.sychzs.cn/clever101/article/details/7993122
如果作者觉得我写的有太多雷同侵犯了你的权益请告知我,我会作修改。
其实这篇文章很多都是看了上一篇文章后写出来的,只不过自己想写下来,一方面以后如果用的话可以很好的再次翻阅,另一方面希望加深自己的记忆。
我就直接说方法了,具体其中的makefile的意思我想我会单独写一篇文章来做说明。
1、首先打开vs自带的命令提示工具(cmd那个我没有试验,有兴趣的朋友可以试验一下。)
2、使用nmake /help命令查看nmake的详细用法
3、输入编译命令
4、开始编译等待结果
Part Ⅰ
环境:
1)VS2010
目录:E:\Program Files (x86)\Microsoft Visual Studio 10.0
2)VS的Qt插件(qt-vs-addin-1.1.11-opensource.exe)
3)Qt for vs2010 (qt-win-opensource-4.8.4-vs2010.exe)
目录:E:\cpp\Qt\4.8.4
Part Ⅱ
1.打开VS2010中的 Visual Studio 命令提示(2010),此时就可以使用nmake了
可以看一下path,多了很多VS中的目录。
2.设置Qt环境变量,使之能够使用qmake。
set path=%path%;E:\cpp\Qt\4.8.4\bin”
E:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>set path=%path%;E:\cpp\Qt \4.8.4\bin 再次查看path可以看到多了E:\cpp\Qt\4.8.4\bin
3.切换到项目目录
E:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>cd E:\Projects\Qt\Demo\Demo 4.使用qmake生成pro文件。
E:\Projects\Qt\Demo\Demo>qmake -project
如:qmake -project QT+=network
QT+=network 添加network 模块,相当于VS的Qt插件中的Qt Project Setting 里Qt modules
可以发现生成的pro文件中多了一项。
使用qmake –help (–help,linux风格)查看帮助信息
5.生成makefile文件
E:\Projects\Qt\Demo\Demo>qmake www.sychzs.cn RCC: Warning: No resources in ‘Demo.qrc’. RCC: Warning: No resources in ‘Demo.qrc’.
6.编译项目
E:\Projects\Qt\Demo\Demo>nmake Debug Release
nmake 默认生成Debug
…………..
各种编译信息或者警告信息之后(元对象编译过程也能看见–生成moc_*.cpp文件)
最后在Debug和release目录下可找到执行文件。
nmake /? (/? windows 风格)nmake帮助信息
7.运行
E:\Projects\Qt\Demo\Demo>cd release
E:\Projects\Qt\Demo\Demo\release>Demo.exe
oh,so prefect!
Part Ⅲ
解决VS2010上Qt版本更新后,不能编译旧版本项目问题。
编译的时候出现:
The following error occured: There’s no Qt version assigned to this project for platform Win32. Please use the ‘change Qt version’ feature and choose a valid Qt version for this platform.
翻遍所有设置都没有找到设置版本的地方,索性手工改项目配置文件(只是xml文件而已)
1.修改vcxproj文件 用文本编辑器打开Demo.vcxproj,查找Qt版本号(我的是4.8.4 )
?
1
2
3
4
5
<
ProjectExtensions
>
<
VisualStudio
>
<
UserProperties
UicDir
=
".\GeneratedFiles"
MocDir
=
".\GeneratedFiles\$(ConfigurationName)"
MocOptions
=
""
RccDir
=
".\GeneratedFiles"
lupdateOnBuild
=
"0"
lupdateOptions
=
""
lreleaseOptions
=
""
QtVersion_x0020_Win32
=
"4.8.4"
/>
VisualStudio
>
ProjectExtensions
>
QtVersion_x0020_Win32=”4.8.4″
2.修改user文件 用文本编辑器打开Demo.user
?
1
<
QTDIR
>E:\cpp\Qt\4.8.4
QTDIR
>
注:
qmake编译最初参考于:《C++GUI Qt4编程》p3