一直以为devenv.exe是个gui编译工具,没想到还支持命令行下编译。命令行形式如下:
devenv.exe 解决方案名.sln /rebuild "平台(Win32/x64)|配置(Debug/Release)"
例如,我在C盘下有个名为test的解决方案,要编译出x86/x64平台的Debug/Release,一共4种类型的代码。那可以在test解决方案的同层目录下建立一个编译脚本,之后双击运行等待编译完成即可:
set devnev="C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe"
%devnev% %cd%\bld.sln /rebuild "Debug|win32"
%devnev% %cd%\bld.sln /rebuild "Debug|x64"
%devnev% %cd%\bld.sln /rebuild "Release|win32"
%devnev% %cd%\bld.sln /rebuild "Release|x64"
当然,这并不比直接在IDE中编译方便多少。最后贴出一个项目中用到的脚本
@echo **************************************************
@echo * *
@echo * System Driver *
@echo * *
@echo **************************************************
@rem Set Project Path
@set Current_path = %cd%
@Set BtMon_Path = %cd%/Toshiba_System_Driver/BtMon_SystemDriver_0725
@Set RMService_path =
@Set TabSysSvc_path =
@Set tosrfec_path =
@Set TosSysHID_path =
@Set TVALZ_path =
@Set TosQnt_path =
@Set VS2010_BuildTool_path = "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe"
@echo === Starting to Build System Driver for WinXP Win8 Win10 ===
@echo 1.Building BtMon......
@devenv.exe %cd%\BtMon_SystemDriver_0725\BtMon\BtMon\BtMon\BtMon.sln /rebuild "release|Win32"
@rem devenv.exe %cd%\BtMon_SystemDriver_0725\BtMon\BtMon\BtMon\BtMon.sln /rebuild "release|Win32" /out "C:\Test-build\BuildLog.txt"
@devenv.exe %cd%\BtMon_SystemDriver_0725\BtMon\BtMon\BtMon4\BtMon2.sln /rebuild "release|Win32"
@devenv.exe %cd%\BtMon_SystemDriver_0725\BtMon\BtMon\B