之前需要移植7zip到wince平臺,但是這麼大的一個工程真不知道怎麼編譯。在sourceforge上抱着試試看的心態提了這個問題,沒想到7zip的作者Pavlov很快就給我了回覆,提供了三個批處理,很順利地編譯通過了。真的非常感謝,Pavlov真是熱心。 我對批處理稍微做了點修改,儘量使用系統裏已有的環境變量。
一共三個文件,arm5_.bat, compile.bat, compileARM.bat,放到CPP\7zip下,運行compileARM.bat,編譯好後到相應的文件夾下找庫和可執行文件。
arm5_.bat
set MY_STATIC_LINK=1
set UNDER_CE=1
set NO_BUFFEROVERFLOWU=1
set CPU=ARM
rem set NEW_COMPILER=1
set LFLAGS=/SUBSYSTEM:WINDOWSCE /NODEFAULTLIB:"oldnames.lib" /STACK:65536,4096
set CFLAGS=-DUNICODE -D_UNICODE -DUNDER_CE -D_WIN32_WCE=0x500 -DARM -D_ARM_
set LIBS=corelibc.lib
set CESDKDir=C:\Program Files\Windows CE Tools\wce500\STANDARDSDK_500
set VSInstallDir=%VS90COMNTOOLS%\..\..
set VCInstallDir=%VSInstallDir%\VC
set PATH=%CESDKDir%\Bin;%VCInstallDir%\ce\Bin\x86_arm\;%VS90COMNTOOLS%\..\IDE;c:\util\;%VCInstallDir%\bin\;"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\"
set INCLUDE=%CESDKDir%\Include\Armv4i\;
set LIB=%CESDKDir%\LIB\Armv4i\;%VCInstallDir%\ce\LIB\Armv4i\
%*
compile.bat
pushd ..\..\..\CPP\7zip\
nmake TARGETS="%*"
popd
pause
compileARM.bat
arm5_.bat call compile.bat %*