- 环境设置
vs2005-vc:
C:\Program Files\Microsoft Visual Studio 8\VC\bin目录运行vcvars32.bat文件
evc:
参考C:\Program Files\Microsoft eMbedded C++ 4.0\EVC\WCE400\BIN\WCEARMV4.BAT,修改如下:
if "%OSVERSION%"=="" set OSVERSION=WCE400
if "%PLATFORM%"=="" set PLATFORM=STANDARDSDK
if "%WCEROOT%"=="" set WCEROOT=C:\Program Files\Microsoft eMbedded C++ 4.0
if "%SDKROOT%"=="" set SDKROOT=C:\Program Files\Windows CE Toolsset PATH=%WCEROOT%\COMMON\EVC\bin;%WCEROOT%\EVC\%OSVERSION%\bin;%path%
set INCLUDE=%SDKROOT%\%OSVERSION%\%PLATFORM%\include\ARMV4;%SDKROOT%\%OSVERSION%\%PLATFORM%\MFC\include;%SDKROOT%\%OSVERSION%\%PLATFORM%\ATL\include;
set LIB=%SDKROOT%\%OSVERSION%\%PLATFORM%\lib\ARMV4;%SDKROOT%\%OSVERSION%\%PLATFORM%\MFC\lib\ARMV4;%SDKROOT%\%OSVERSION%\%PLATFORM%\ATL\lib\ARMV4;set CC=clarm.exe
set TARGETCPU=ARMV4
set CFG=%1 - Win32 (WCE ARMV4) Release
set CESubsystem=windowsce,4.0
set CEVersion=400
set vcnfile=%1.vcn
set errortxt=error."%CFG%"
nmake /a /x %errortxt% /f %vcnfile% CFG="%CFG%" CESubsystem=%CESubsystem% CEVersion=%CEVersion% CEConfigName="%PLATFORM%"
1:设置环境
vs2005环境设置:
Run->CMD->进入到C:\Program Files\Microsoft Visual Studio 8\VC\bin目录(不同的VC编译器目录也不一样)下
->运行vcvars32.bat文件
vc6的路径有些不用,不过还是运行运行vcvars32.bat文件
2: 清空工程
nmake /f xxx.mak CFG="xxx - Win32 Release" clean
3. Make
nmake /f xxx.mak CFG="xxx - Win32 Release"
nmake的MSDN:
http://msdn.microsoft.com/zh-cn/library/seaaew50(v=vs.80)
说明一下下面的代码:
.c{$(INTDIR).obj::
$(CPP) @<<
$(CPP_PROJ) $<
<<
部分是内联文件,在MSDN中,解释为:
内联文件包含您在生成文件中指定的文本。它的文件名在命令中可以用作输入(例如,LINK 命令文件),或者它可将命令传递到操作系统。当运行创建该文件的命令时在磁盘上创建该文件。
测试了一下,意思就是说
<<
$(CPP_PROJ) $<
<<
这部分内容先保存到一个临时文件中去,然后在传递到$(CPP)中执行。这样的好处是终端输出很简洁~,看不到$(CPP_PROJ) 一大堆的参数。