编译批处理

批量编译脚本示例
本文介绍了一套用于批量编译项目的批处理脚本,包括配置编译环境、清理旧文件、编译不同配置及外部依赖等步骤,并提供了调用方法及devenv命令的详细说明。

原文

// -- ---------------------设置编译环境.bat----------------------------

@echo 配置编译环境
@set VS_PATH
= D:\Program Files\Microsoft Visual Studio  8
@call 
" %VS_PATH%\VC\vcvarsall.bat "

// -- ---------------------重新编译所有.bat----------------------------

@call clean.bat
@call BuildAll_Debug.bat
@call BuildAll_Release.bat

// -- ---------------------clean.bat----------------------------

del 
* .aps  * .plg  * .bsc  * .hpj  * .clw  * .map  * .exp  * .cbp  * .mdp  * .ilk  * .sbr  * .res  * .obj  * .pch  * .pdb  * .ncb  * .idb  * .tmp  * .opt mt.dep  * .manifest BuildLog.htm  / / s
del 
* .suo Thumbs.db  / / / a:h

// -- ---------------------BuildAll_Debug.bat----------------------------

BuildAll.bat Debug

// -- ---------------------BuildAll_Release.bat----------------------------

BuildAll.bat Release

// -- ---------------------BuildAll.bat----------------------------

@call SetupCompliteEnv.bat

@echo 正在编译依赖项
@call BuildExternel.bat 
% 1

@echo 正在编译核心
@call BuildCore.bat 
% 1

@echo 正在编译工具
@call BuildTools.bat 
% 1

@echo 全部编译完毕

// -- ---------------------BuildCore.bat----------------------------

@call SetupCompliteEnv.bat

@echo 正在编译CEGUI
@devenv CEGUI.sln 
/ build  % 1

@echo 正在编译OgreNew
@devenv OgreNew.sln 
/ build  % 1

@echo 正在编译CollisionSystem
@devenv CollisionSystem
/ CollisionSystem.sln  / build  % 1

@echo 正在编译EditableTerrain
@devenv EditableTerrain
/ EditableTerrain.sln  / build  % 1

@echo 正在编译OgrePro
@devenv OgrePro
/ OgrePro.sln  / build  % 1

@echo 正在编译TriggerSystem
@devenv TriggerSystem
/ TriggerSystem.sln  / build  % 1

@echo 正在编译DisplayLayer
@devenv DisplayLayer.sln 
/ build  % 1

pause

// -- ---------------------BuildExternel.bat----------------------------

@call SetupCompliteEnv.bat

@echo 正在编译TinyXML
@devenv Externel
/ TinyXML.sln  / build  % 1

@echo 正在编译FreeType
@devenv Externel
/ FreeType.sln  / build  % 1

@echo 正在编译wxWidgets
@
if   " %1 "   ==   " Debug "  goto wxWidgetsDebug
@
if   " %1 "   ==   " Release "  goto wxWidgetsRelease

: wxWidgetsDebug
@devenv Externel
/ wxWidgets.sln  / build Debug
@devenv Externel
/ wxWidgets.sln  / build  " Unicode Debug "
@goto wxWidgetsEnd

: wxWidgetsRelease
@devenv Externel
/ wxWidgets.sln  / build Release
@devenv Externel
/ wxWidgets.sln  / build  " Unicode Release "
@goto wxWidgetsEnd

: wxWidgetsEnd

@echo 正在编译XtremeToolkitPro
@devenv Externel\XtremeToolkitPro\Workspace\Resource\Resource_vc80.sln 
/ build Release  / project Codejock.ToolkitPro.ResourceZhCn
@devenv Externel\XtremeToolkitPro\Workspace\ToolkitPro\ToolkitPro_vc80.sln 
/ build  % 1   / project Codejock.ToolkitPro.Shared

// -- ---------------------BuildTools.bat----------------------------

@call SetupCompliteEnv.bat

@echo 正在编译CEGUI皮肤编辑器
@devenv Tools
/ CEImagesetEditor.sln  / build  % 1

@echo 正在编译CEGUI界面编辑器
@devenv Tools
/ CELayoutEditor.sln  / build  % 1


@echo 正在编译世界编辑器
@devenv Tools
/ WorldEditor / WorldEditor.sln  / build  % 1

 


//----------------------------------------------------------------

另外,将命令行输出转接到文本中的例子

ping 192.168.1.1 -t >> c:\user.txt

在程序中调用.bat脚本的方法

winexec('c:\a.bat',SW_SHOWNORMAL);

若想关闭命令行不显示,则设置第二个参数为 SW_HIDE.

 

用批处理是直接调用Microsoft Visual Studio 8\Common7\IDE\ 目录内的 devenv.exe ,它启动后就是IDE,提供的参数如下:

用法:

devenv [solutionfile | projectfile | anyfile.ext] [switches]

devenv 的第一个参数通常是一个解决方案文件或项目文件。如果您希望在编辑器中自动打开文件,也可以使用任何其他文件作为第一个参数。当您输入项目文件时,IDE会在项目文件的父目录中查找与该项目文件具有相同基名称的 .sln 文件。如果不存在这样的 .sln 文件,IDE 将查找引用该项目的单个 .sln 文件。如果不存在这样的单个.sln 文件,则 IDE 将创建一个具有默认 .sln 文件名且未保存的解决方案,其基名称与项目文件的基名称相同。

命令行编译:

devenv solutionfile.sln /build solutionconfig [ /project projectnameorfile [ /projectconfig name ] ]

 可用的命令行开关:

/Build 
使用指定的解决方案配置生成解决方案或

项目。例如“Debug”。如果可能存在多个平台,

则配置名称必须用引号括起来

并且包含平台名称。例如“Debug|Win32”。

/Clean 
删除生成结果。

/Command 
启动 IDE 并执行该命令。

/Deploy 
生成并部署指定的生成配置。

/Edit 
在此应用程序的运行实例中打开

指定文件。如果没有正在运行的实例,

则启动一个具有简化窗口布局的新实例。

/LCID 
设置 IDE 中用于用户界面的默认语言。

/Log 
将 IDE 活动记录到指定的文件以用于故障排除。

/NoVSIP 
禁用用于 VSIP 测试的 VSIP 开发人员许可证密钥。

/Out 
将生成日志追加到指定的文件中。

/Project 
指定生成、清理或部署的项目。

必须和 /Build、/Rebuild、/Clean 或 /Deploy 一起使用。

/ProjectConfig 
重写解决方案

配置中指定的项目配置。例如“Debug”。如果可能存在

多个平台,则配置名称必须用引号括起来

并包含平台名称。例如“Debug|Win32”。

必须和 /Project 一起使用。

/Rebuild 
先清理,然后使用指定配置生成

解决方案或项目。

/ResetAddin 
移除与特定外接程序关联的命令和命令用户界面。

/ResetSettings 
恢复 IDE 的默认设置,还可以重置为

指定的 VSSettings 文件。

/ResetSkipPkgs 
清除所有添加到 VSPackages 的 SkipLoading 标记。

/Run 
编译并运行指定的解决方案。

/RunExit 
编译并运行指定的解决方案然后关闭 IDE。

/SafeMode 
以安全模式启动 IDE,加载最少数量的窗口。

/Upgrade 
升级项目或解决方案以及其中的所有项目。

并相应地创建这些文件的备份。有关备份

过程的更多信息,请参见

“Visual Studio 转换向导”上的帮助。

 

 产品特定的开关:

/debugexe 
打开要调试的指定可执行文件。命令行的其余部分作为它的参数传递到此执行文件。

/useenv     
使用PATH、INCLUDE、LIBPATH


 要从命令行附加调试器,请使用:

       VsJITDebugger.exe -p <pid>

 

转载于:https://www.cnblogs.com/dubingsky/archive/2009/06/23/1509805.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值