Win CE下 VS2008 工程的自動(dòng)編譯
一個(gè) WinCE 系統(tǒng)的 VS2008 工程,如:MyVs2008PrjName,需要根據(jù)不同的宏定義,編譯生成多個(gè)不同配置的 EXE 供不同產(chǎn)品使用。
剛開(kāi)始時(shí)是手動(dòng)編譯的,因?yàn)楫a(chǎn)品的個(gè)數(shù)有限。但后來(lái)發(fā)現(xiàn)編譯,整理生成的 EXE 是一個(gè)耗時(shí)的工作,因?yàn)榇藭r(shí)已經(jīng)有 15 個(gè)不同的產(chǎn)品。
考慮使用命令行 + BAT 來(lái)實(shí)現(xiàn)自動(dòng)化編譯,與生成的 EXE 復(fù)制的過(guò)程。
由于便有了以下的 BAT 文件:
rem?set?environment?variables: @echo?on call?"%VS90COMNTOOLS%vsvars32.bat" rem?定義宏?_MY_SELF_MACRO_?為:?1 set?CL=/D_MY_SELF_MACRO_#1 call?:cmdRebuild?MyVs2008PrjName.vcproj?"Release|WinCE_SDK?(ARMv4I)" copy?/Y?....OutputAllExeMyVs2008PrjName_R.exe?....OutputAllExePrj1MyVs2008PrjName.exe copy?/Y?....OutputAllExeMyVs2008PrjName_R.map?....OutputAllExePrj1MyVs2008PrjName.map rem?定義宏?_MY_SELF_MACRO_?為:?2 set?CL=/D_MY_SELF_MACRO_#2 call?:cmdRebuild?MyVs2008PrjName.vcproj?"Release|WinCE_SDK?(ARMv4I)" copy?/Y?....OutputAllExeMyVs2008PrjName_R.exe?....OutputAllExePrj2MyVs2008PrjName.exe copy?/Y?....OutputAllExeMyVs2008PrjName_R.map?....OutputAllExePrj2MyVs2008PrjName.map rem?定義宏?_MY_SELF_MACRO_?為:?3 rem?省略...... rem?定義宏?_MY_SELF_MACRO_?為:?15 pause exit goto?:eof :ErrorLogShow notepad?%~dp0/result.log notepad?%~dp0/Rebuilder.log pause exit goto?:eof :cmdRebuild @echo?on devenv.com?%1?/Rebuild?%2?/out?output.txt? IF?%ERRORLEVEL%?EQU?0?( echo?"%~1?build?ok!!!"?>>?result.log type?output.txt?>>?%~dp0/Rebuilder.log )?else?( echo?"%~1?build?fails!!!"?>>?result.log type?output.txt?>>?%~dp0/Rebuilder.log goto?:ErrorLogShow ) goto?:eof pause?#暫停