VC中使用nmake命令编译方法

VC6.0其实已经不再使用makefile文件进行编译了,但是它仍然可以导出makefile文件,后缀名为*.mak,方法是在工程菜单下的导出makefile文件,你也可以将*.mak文件更名为makefile这样就可以只使用nmake进行编译而不用再在后面带参数([/f makefile] )。
       剩下的工作就是进入该工程文件所在的路径,然后执行makefile命令,然后再将生成文件copy到bin目录下就ok了。
1.如果要编译Release版本
nmake /f "*****.mak" CFG="****** - Win32 (x86) Release"
2.如果要编译Debug版本
nmake /f "*****.mak" CFG="****** - Win32 (x86) Debug" 或 nmake /f "*****.mak"
因为makefile文件里有如下逻辑:
!IF "$(CFG)" == ""
CFG=****** - Win32 Debug
!MESSAGE No configuration specified. Defaulting to ****** - Win32 Debug.
!ENDIF
要注意头(库)文件路径要在工程----设定中加入,不然会无法编译通过。
nmake参数:
Usage: NMAKE @commandfile
NMAKE [options] [/f makefile] [/x stderrfile] [macrodefs] [targets]
Options:
/A Build all evaluated targets
/B Build if time stamps are equal
/C Suppress output messages
/D Display build information
/E Override env-var macros
/HELP Display brief usage message
/I Ignore exit codes from commands
/K Build unrelated targets on error
/N Display commands but do not execute
/NOLOGO Suppress copyright message
/P Display NMAKE information
/Q Check time stamps but do not build
/R Ignore predefined rules/macros
/S Suppress executed-commands display
/T Change time stamps but do not build
/U Dump inline files
/Y Disable batch-mode
/? Display brief usage message
 
 
关于NMAKE的宏定义信息,请参阅550页。
 
   命令行选项
  NMAKE接收选择项以控制NMAKE会话。选择项并不区分大小写且其前面可以是斜线(/)或是破折号(-)。
  您可以指定一些选择项在makefile文件中或是TOOLS.INI文件中。
 
  /A
    强制NMAKE去生成所有检测到的目标文件,甚至目标文件相比于其依赖文件并没有过期。此选项并不强制NMAKE产生无关的目标文件。
 
  /B
    告诉NMAKE去执行依赖性检查即使时间戳是一样的。大多数操作系统在2秒种内分配一个时间戳。如果您的命令执行地很快,NMAKE也许可能认为一个文件是最新的但其实不是。
    此选项可能会导致一些不必要的生成步骤,但建议在速度非常快系统上运行NMAKE时加上该选项。
   
  /C
    禁止默认NMAKE输出,包括非致命NMAKE错误或警告讯息,时间戳,以及NMAKE版权信息。如果同时指定/C和/K选项,那么/C将会禁止来自/K选项的警告输出。
   
  /D
    打印信息NMAKE执行期间的信息。这些信息散布于NMAKE的默认输出中打印到屏幕。NMAKE打印在生成过程检测到的每个目标文件和依赖文件的时间戳,并报告一个信息当一个目标文件不存在时。
    目标文件的依赖文件的打印信息在目标文件之前且是交错的。/D和/P选项在调试一个makefile时将会非常有用。
    设置或清除部分makefile文件的/D选项,可以使用!CMDSWITCHES指令,具体请参阅572页“预处理指令”章节。
   
  /E
    引用环境变量来覆盖makefile文件中的宏定义。请参阅“宏定义”一节于550页。
   
  /F filename
    指定makefile文件的文件名。文件名前可以加空格或制表符。如果你指定破折号(-)于文件名前,NMAKE将从标准输入设备获得makefile的输入。
    (按下F6或是CTRL+Z来结束键盘输入。)NMAKE可以接受多个makefile文件,每个makefile文件之间用/F隔开。
    如果你忽略了/F选项,NMAKE搜索当前目录中文件名为MAKEFILE(没有后缀)的文件并将其当做makefile输入。
    如果MAKEFILE文件并不存在,NMAKE使用默认推导规则来生成命令行中的目标。
 
  /HELF
    调用快速帮助功能。如果NMAKE不能定位帮助文档可是快速帮助,那么它显示一份NMAKE命令行语句的简要总结。
   
  /I
    忽略列在makefile文件中的所有命令的退出代码。NMAKE执行整个makefile文件即使有错误产生。如果只想忽略某些命令或是某部分makefile的退出代码,可以在命令之前加破折号(-)或是使用.IGNORE指令。
    详情请参阅544页的”命令修饰符“节和570页的”点指令“节。想要设置或清除部分makefile的/I选项,可以使用!CMDSITCHES指令。具体请看572页”预处理指令“一节。
    想要忽略生成过程无关部分的错误,可以使用/K选项。/I覆盖/K选项,如果两选择项同时被设置。
 
  /K
    继续关系依赖树其余部分的生成过程如果一条命令由于错误而中断。默认情况下,NMAKE停止如果有命令返回任一非零的退出值。
    如果该选择项被指定,那么当一个命令返回一个非为的退出值,NMAKE停止执行包含该命令的块。NMAKE并不尝试去生成那些取决于该命令结果的目标文件;相反,NMAKE报告一个警告,然后继续生成其他的目标。
    如果/K选择项被指定同时生成过程并没有结束,NMAKE返回一个退出值1。这与/I选项不同,/I选项完全忽略退出代码。/I覆盖/K选项如果它们同时被指定。/C选项禁止/K选项报告的警告信息。
 
  /M
    交换NMAKE到磁盘以保存延长或扩充的内存在MS-DOS。默认情况下,NMAKE在低地址内存留下空间给命令执行通过交换它自己到扩展的内存(如果有足够的空间存在)或是扩充的内存(如果没有足够的扩展的内存,但有足够的扩充内存)或磁盘。
    /M选择项让NMAKE忽略任何的可扩展的内存或是可扩充内存,而只交换自己到磁盘。
   
  /N
    显示但并不执行那些在生成过程中会被执行的命令。该选择项对于调试makefile和查看那个目标过期时非常有用。
    想要设置或清除makefile文件的某部分/N选择项,可使用!CMDSWITCHES指令。详情见572页”预处理指令“节。
   
  /NOLOGO
    禁止输出NMAKE版权信息。
   
  /P
    在开始NMAKE会话前,打印NMAKE的信息到标准输出设备,包括所有的宏定义、推导规则、目标描述块和.SUFFIXES列表。
    如果/P选择项被指定但没有提供makefile文件或是命令行目标,那么NMAKE打印信息但并不报告错误。/P和/D选择项对于高度makefile文件非常有用。
   
  /Q
    检查在生成过程中可能会更新的目标文件的时间戳但并不执行生成过程。如果目标文件都是最新的,那么NMAKE返回一个零值;如果任一目标文件过期了,那么NMAKE返回一个非零值。
    只有makefile文件中的预处理命令将会被执行。该选择项在批处理文件中调用NMAKE时非常有用。
 
  /R
    清空.SUFFIXES列表且忽略那些定义在TOOLS.INT文件中或是预定义的推导规则和宏定义。
   
  /S
    禁止所有的执行命令的输出。为了禁止某一执行命令的输出,使用@命令修饰符或是使用.SILENT指令。详情请参阅544页的”命令修饰符“节和570页的”点指令“节。
    想要设置或清除makefile文件的某部分/S选择项,可使用!CMDSWITCHES指令。详情见572页”预处理指令“节。
   
  /T
    修改命令行目标(或是makefile文件中第一个目标文件如果命令行中并没指定任何目标)的时间戳为当前时间并且执行预处理命令但并不执行生成过程。
    目标文件的内容并没有改变。
   
  /V
   
    引起递归时所有的宏被继承。默认情况下,只有定义在命令行和环境变量中的宏定义是被继承的当NMAKE调用递归时。该选择项使所有的宏定义在NMAKE调用递归期间都有效。详情见563页”继承的宏定义“节。
 
  /X filename
    发送所有的NMAKE错误输出到filename,filename可以是文件或是设备。
    filename之前可以加空格或制表符。如果您在filename之前加破折号(-),NMAKE发送它的错误输出到标准的输出设备。
    默认情况下,NMAKE发送错误输出到标准错误流。 该选择项并不影响那些由makefile中的命令产生的发送到标准错误流的错误输出。
   
  /?
    打印一份NMAKE命令行句法的简要总结并退出到操作系统。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误提示是由于系统无法找到或执行 nmake 命令引起的。nmake 是 Microsoft Visual Studio 的一个工具,用于构建和编译 C/C++ 项目。如果你没有安装 Visual Studio,或者没有将其相关路径添加到系统环境变量,就会出现这个错误。 要解决这个问题,你可以尝试以下几个步骤: 1. 确保已经安装了 Microsoft Visual Studio。如果没有安装,你可以从官方网站下载并安装。 2. 如果已经安装了 Visual Studio,但依然出现该错误,可能是由于环境变量没有正确设置。你可以按照以下步骤检查和设置环境变量: - 打开控制面板,并找到“系统”或“系统和安全”选项。 - 点击“高级系统设置”或“系统”链接,在打开的窗口点击“环境变量”按钮。 - 在“系统变量”列表查找名为“Path”的变量,然后点击“编辑”按钮。 - 在弹出的编辑环境变量窗口,确保路径 `C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\bin\Hostx64\x64`(根据你的 Visual Studio 版本和安装路径可能会有所不同)已经添加到其。如果没有添加,可以点击“新建”按钮,在新建环境变量窗口添加该路径。 - 确认并关闭所有打开的窗口。 3. 如果上述步骤仍然没有解决问题,你可以尝试重新安装 Visual Studio,并确保在安装过程选择了包含 C/C++ 工具的选项。 希望以上解决方法能对你有所帮助!如果问题还存在,请提供更多详细信息,以便我能够更好地帮助你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值