windows环境中利用NMake工具编译连接C++源代码
这篇文章是上一篇文章(http://www.cnblogs.com/LCCRNblog/p/4532643.html)的补充,因此需要先看看上一篇文章。
最近在写代码的时候,需要通过命令的方式来执行生成的c++源代码文件,因此需要学习有关windows环境下如何使用命令来编译连接c++原文件。这一篇文章是自己慢慢摸索实践得出的。作为自己入门的起点吧,后续还要好好深入理解这方面的知识。
1、准备
编写好main.cpp header.h header.cpp这三个源代码文件,并放入一个文件夹test中。
2、编写NMake文件
在test文件夹中创建hello.mk文件,并写入如下脚本
foo :main.obj header.obj cl.exe -EHsc main.obj header.obj -o foo main.obj:main.cpp cl.exe -EHsc -c main.cpp header.obj:header.h header.cpp cl.exe -EHsc -c header.cpp clean: del *.obj *.exe
注意脚本中空格需要保留,不能随意添加和删除。至于为什么,我暂时也不太清楚,后续慢慢了解学习。
-----------------------------------------------------------------------------补充 2015年5月29日17:17:56------------------------------------------------
第二行cl.exe -EHsc main.obj header.obj -o foo,这一行-o之前的参数都是传递个cl.exe的,-o之后的参数(包括-o)是传递个Link.exe的。
----------------------------------------------------------------------------------------------------------------------------------------------------------
我在实践的过程中,把”header.obj:header.h header.cpp“这一行中的header.h去掉,重新执行这个脚本文件,任然能够通过,这个原因我暂时还不太清楚,因为我也只是刚刚接触这方面的知识,还需要进一步的尝试,进一步的理解其中的原理。
然后在打开cmd,定位到test文件路径,首先执行vcvarsall.bat(方法在上一篇文章中有涉及),然后执行如下命令
NMake /f hello.mk
在test文件夹中就会生成foo.exe可执行文件。
如果执行如下命令
NMake /f hello.mk clean
则在test文件夹中生成的所有*.obj和*.exe都会被删除。
- 利用ant简单实现windows环境下的自动化编译和部署
- 在Windows下利用CYGWIN建立ARM交叉编译环境
- CentOS配环境变量(针对MacOS,Windows类似,请自行下载连接Linux的工具)
- 利用nmake工具编译时怎样制定framework版本
- Windows环境下利用Qt连接MYSQL数据库
- python利用windows编译的sqlcipher工具对sqlite数据库加密
- 在Android上利用NDK编译并使用Spatialite库(Windows环境)
- windows下连接linux服务器并利用FTP工具上传资料
- 利用ddk自带的工具build.exe编译windows驱动
- windows环境下安装连接远程oracle工具PL/SQL Developer 11.0
- 在windows环境下,使用Eclipse和gcc-Linaro工具链,对BeagleBone进行交叉编译和远程部署
- 利用ddk自带的工具build.exe编译windows驱动
- 在Windows下利用CYGWIN建立ARM交叉编译环境
- 利用ddk自带的工具build.exe编译windows驱动
- Windows环境下利用Qt连接MYSQL数据库
- 在windows环境下,使用Eclipse和gcc-Linaro工具链,对BeagleBone进行交叉编译和远程部署
- 在windows下利用cygwin+Eclipse+NDK构建交叉编译环境攻略
- windows环境中使用VC的nmake和makefile编译c++程序
- Windows环境下利用Qt连接MYSQL数据库
- 搭建Windows系统下php开发环境有很多种方式,比如LAMP的配置、php IDE和调试工具的选择等等。根据每个人喜好不同有很多配置方式。这里主要介绍的是利用XAMPP集成安装和配置apache、