VC使用makefile小结
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编译器同样的结果.
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编译器同样的结果.