vs2008 自动化编译工程(devenv.com)
目的:不用打开visual studio,使用脚本实现自动编译vs的工程。
在vs2008下面提供了devenv.com命令行方式,我们可以从VS安装目录..\MicrosoftVisual Studio 9\Common7\IDE下面找到它,以下是几个常见用法:
用法:
devenv.com [solutionfile | projectfile |anyfile.ext] [switches]
devenv.com的第一个参数通常是一个解决方案文件或项目文件。
如果您希望在编辑器中自动打开文件,也可以使用任何其他文件作为第一个参数。当您输入项目文件时,IDE会在项目文件的父目录中查找与该项目文件具有相同基名称的 .sln 文件。如果不存在这样的 .sln 文件,IDE 将查找引用该项目的单个 .sln 文件。如果不存在这样的单个.sln 文件,则 IDE 将创建一个具有默认 .sln 文件名的未保存的解决方案,其基名称与项目文件的基名称相同。
命令行生成:
devenv.com 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和 LIB 环境变量而不是使用 VC++ 生成的 IDE 路径。
要从命令行附加调试器,请使用:
VsJITDebugger.exe -p <pid>
编译的工程版本必须和VS版本对应,否则会提示该项目没有被转换。
还有一点需要注意,如果在sln里面设置了dependence,一旦Clear某个Project,会导致其他相依赖的Project也会被Clear,造成编译时间上的浪费,为了节省时间,你可以重命名sln或者删除sln,这样编译就不会考虑工程间依赖关系。
脚本范例:
REM ************************************************************************************************
REM * Script to compile the solutions of VS2008 *
REM * Created by: kandy *
REM * Created 2019.01.15 *
REM ************************************************************************************************REM STEP 1: set environment variables:
REM ************************************************************************************************
SET VS2008Compiler="%VS90COMNTOOLS%..\..\Common7\IDE\devenv.com"
REM ************************************************************************************************REM STEP 2: set compile log
REM ************************************************************************************************
SET CompileLogName="%~dp0compileResults.log"
ECHO [%DATE% %Time%] Start compile sequence >%CompileLogName%
ECHO Used compile configuration is %buildAnyCPU% >>%CompileLogName%
REM ************************************************************************************************REM STEP 3: Start compile
REM ************************************************************************************************
SET SolutionFileName="%~dp0YourProjectName.sln"
%VS2008Compiler% %SolutionFileName% /build "Debug|Win32" /Out %CompileLogName%
IF NOT %errorlevel% == 0 ECHO %SolutionFileName% failed! Error: %errorlevel% >>%CompileLogName%
IF %errorlevel% == 0 ECHO %SolutionFileName% compiled successful >>%CompileLogName%
REM ************************************************************************************************REM STEP 4: If compile failed stop processing:
REM ************************************************************************************************
IF NOT %errorlevel% == 0 PAUSEECHO [%DATE% %Time%] Finished compile sequence >>%CompileLogName%
REM ************************************************************************************************
该批处理文件放在源码根目录下(即和解决方案文件*.sln 的同一级目录下),生成日志放在源码根目录下compileResults.log中.这个批处理文件可以和svn的源码更新命令绑在一起实现从源码更新到编译,也可以放在服务器上作为每日构建的脚本。
vs2008 自动化编译工程(devenv.com)相关推荐
- 使用devenv实现自动化编译VS工程
Devenv命令 devenv命令是VS系列编译器的exe名称,执行devenv.exe可以启动带界面的VS编译器.若需要使用命令行方式的编译器,需要使用devenv或者devenv.com. 我们可 ...
- Gulp的自动化编译PostCss
Gulp能够自动执行task定义的事务,但是我们每次调用一次事务,事务也就执行一次,这样我们每次都必须手动去执行一次,就显得很繁琐. 以移动app开发为例,我们在编写app的css时,诸如px的转化问 ...
- makefile文件:编译工程文件
其本质是用来编译工程文件(内部可以理解为g++命令),用make命令,实现自动化编译.格式如下: 目标:依赖 (tab) 命令 介绍makefile的最初级版本 当前目录下有 main.cpp tem ...
- java 自动化编译_构建Jenkins自动化编译管理环境
今天研究了一下Jenkins,有了一个粗浅的认识,顺手把构建的过程说一下,后续慢慢补充: (1)Secure CRT 连接到Linux服务器 要注意的一点是,要搞好一个文件传输的路子,否则不好传东西. ...
- VS2008 下编译 live555
VS2008 live555 编译记录 1.首先去官网上下载live555的代码 www.live555.com/liveMedia/public <www.live555.com/liveM ...
- 在VS2008里编译x264(菜逼专用)
在VS2008里编译x264(菜逼专用) (2011-11-01 14:34:28) 转载▼ 标签: 杂谈 1.下载x264 我一共下了两个版本:第一个版本的下载地址是http://ttpubli ...
- 生成Xcode templete,自动化注入工程配置
生成Xcode templete,自动化注入工程配置 上一篇: 动态库注入及在非越狱手机使用 上一篇已经讲解了如何生成包含动态库的工程并自动注入APP安装到设备上.但是,每次新建项目,配置各种环境,稍 ...
- 一键数据分析自动化特征工程!
创造新的特征是一件十分困难的事情,需要丰富的专业知识和大量的时间.机器学习应用的本质基本上就是特征工程.--Andrew Ng 业内常说数据决定了模型效果上限,而机器学习算法是通过数据特征做出预测的, ...
- 独家 | 用Python Featuretools库实现自动化特征工程(附链接)
作者:Prateek Joshi 翻译:张玲 校对:李润嘉 本文约4000字,建议阅读10分钟. 本文简要介绍特征工程的基本组成部分,并用直观的示例理解它们,最后给出使用Python Featuret ...
最新文章
- PAT1034 Head of a Gang (30)(并查集)
- 再见!妈妈再也不用担心我的计算机基础!
- Django的models操作
- 《对Java的分析总结》-Java中的垃圾回收机制中的标记-清除算法 (五)
- 腾讯云linux配置服务器配置,centos7+腾讯云服务器搭建wordpress
- 亿级规模的Feed流推荐系统,如何轻松设计?
- 数据结构 之 并查集(Disjoint Set)
- 转:《潜伏》映射办公室潜规则
- TED如何和压力做朋友(第三天)
- Android studio教程:[6]创建多个Activity
- 简单易懂的排序算法演示
- win系统服务器怎么清理内存,windows服务器内存清理
- Configtool
- sqoop connect oracle,Sqoop从Oracle导出数据出错:The Network Adapter could not establish the connection...
- 3-arm裸机存储器控制器之SDRAM
- windows winrar 指令_WinRAR的命令行模式用法介绍
- R语言(pROC)绘图
- 2013 CVPR点评
- 人牙髓干细胞,多能分化,不只用于牙齿组织再生研究
- 计算机管理恢复分区,windows10系统隐藏恢复分区Recovery Image的方法