VC使用makefile小结

来源:互联网 发布:阿托伐他汀 知乎 编辑:程序博客网 时间:2024/04/30 10:43

1,vc6生成makefile文件:

点击“工程”菜单下的“导出制作文件”,工程目录得到xxx.mak文件

 

2,命令行编译生成

nmake -f xxx.mak

 

哈哈,VC自己生成的makefile文件直接报错:错误码是U1023.

 

解决方法如下:

 

使用NMAKE手工编译VC时报错的一种情况介绍

    按照上一篇文章讲到的方法,我做了一下试验,结果上来就报错了,错误码是U1023.

    我打开使用VC生产的.mak文件,发现.mak文件最开始的一些语句如下:

# Microsoft Developer Studio Generated NMAKE File, Based on Exercise08.dsp
!IF $(CFG)" == "
CFG=Exercise08 - Win32 Debug
!MESSAGE No configuration specified. Defaulting to Exercise08 - Win32 Debug.
!ENDIF

!IF "$(CFG)" != "Exercise08 - Win32 Release" && "$(CFG)" != "Exercise08 - Win32 Debug"
!MESSAGE 指定的配置 "$(CFG)" 无效.
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "Exercise08.mak" CFG="Exercise08 - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "Exercise08 - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "Exercise08 - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE
!ERROR An invalid configuration is specified.
!ENDIF

!IF $(OS)" == "Windows_NT
NULL=
!ELSE
NULL=nul
!ENDIF

    我发现的确是存在语法错误,而第一句就报错,这个注释行为什么报错,我没有找到原因,反正是注释行,也没什么用处,索性删掉.

    删掉第一行后,再使用NMAKE编译,依然报错,还是U1023,再仔细分析一下,他妈的,不知道为什么,VC生成的.mak文件竟然也出现了语法错误

    !IF $(CFG)" == " 应该是 !IF "$(CFG)" == ""
同样的另外一行:

    !IF $(OS)" == "Windows_NT  应该是 !IF "$(OS)" == "Windows_NT"
也就是说,删除第一行注释行,再改正上面的两个错误,使用NMAKE编译,就产生了和VC编译器同样的结果.

原创粉丝点击