目的:不用打开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)相关推荐

  1. 使用devenv实现自动化编译VS工程

    Devenv命令 devenv命令是VS系列编译器的exe名称,执行devenv.exe可以启动带界面的VS编译器.若需要使用命令行方式的编译器,需要使用devenv或者devenv.com. 我们可 ...

  2. Gulp的自动化编译PostCss

    Gulp能够自动执行task定义的事务,但是我们每次调用一次事务,事务也就执行一次,这样我们每次都必须手动去执行一次,就显得很繁琐. 以移动app开发为例,我们在编写app的css时,诸如px的转化问 ...

  3. makefile文件:编译工程文件

    其本质是用来编译工程文件(内部可以理解为g++命令),用make命令,实现自动化编译.格式如下: 目标:依赖 (tab) 命令 介绍makefile的最初级版本 当前目录下有 main.cpp tem ...

  4. java 自动化编译_构建Jenkins自动化编译管理环境

    今天研究了一下Jenkins,有了一个粗浅的认识,顺手把构建的过程说一下,后续慢慢补充: (1)Secure CRT 连接到Linux服务器 要注意的一点是,要搞好一个文件传输的路子,否则不好传东西. ...

  5. VS2008 下编译 live555

    VS2008 live555 编译记录 1.首先去官网上下载live555的代码  www.live555.com/liveMedia/public <www.live555.com/liveM ...

  6. 在VS2008里编译x264(菜逼专用)

    在VS2008里编译x264(菜逼专用) (2011-11-01 14:34:28) 转载▼ 标签: 杂谈   1.下载x264 我一共下了两个版本:第一个版本的下载地址是http://ttpubli ...

  7. 生成Xcode templete,自动化注入工程配置

    生成Xcode templete,自动化注入工程配置 上一篇: 动态库注入及在非越狱手机使用 上一篇已经讲解了如何生成包含动态库的工程并自动注入APP安装到设备上.但是,每次新建项目,配置各种环境,稍 ...

  8. 一键数据分析自动化特征工程!

    创造新的特征是一件十分困难的事情,需要丰富的专业知识和大量的时间.机器学习应用的本质基本上就是特征工程.--Andrew Ng 业内常说数据决定了模型效果上限,而机器学习算法是通过数据特征做出预测的, ...

  9. 独家 | 用Python Featuretools库实现自动化特征工程(附链接)

    作者:Prateek Joshi 翻译:张玲 校对:李润嘉 本文约4000字,建议阅读10分钟. 本文简要介绍特征工程的基本组成部分,并用直观的示例理解它们,最后给出使用Python Featuret ...

最新文章

  1. PAT1034 Head of a Gang (30)(并查集)
  2. 再见!妈妈再也不用担心我的计算机基础!
  3. Django的models操作
  4. 《对Java的分析总结》-Java中的垃圾回收机制中的标记-清除算法 (五)
  5. 腾讯云linux配置服务器配置,centos7+腾讯云服务器搭建wordpress
  6. 亿级规模的Feed流推荐系统,如何轻松设计?
  7. 数据结构 之 并查集(Disjoint Set)
  8. 转:《潜伏》映射办公室潜规则
  9. TED如何和压力做朋友(第三天)
  10. Android studio教程:[6]创建多个Activity
  11. 简单易懂的排序算法演示
  12. win系统服务器怎么清理内存,windows服务器内存清理
  13. Configtool
  14. sqoop connect oracle,Sqoop从Oracle导出数据出错:The Network Adapter could not establish the connection...
  15. 3-arm裸机存储器控制器之SDRAM
  16. windows winrar 指令_WinRAR的命令行模式用法介绍
  17. R语言(pROC)绘图
  18. 2013 CVPR点评
  19. 人牙髓干细胞,多能分化,不只用于牙齿组织再生研究
  20. 计算机管理恢复分区,windows10系统隐藏恢复分区Recovery Image的方法

热门文章

  1. it试用评估_it试用期工作总结3篇
  2. BiGCN(谣言检测)踩坑记录
  3. Alice和Bob的故事
  4. 计算机函数极值的求法,函数的极值及其求法
  5. 将.pcd转化为.stl
  6. 脚本之家(各种资料下载)
  7. 54、反射(reflection)
  8. 电脑开机密码忘记了怎么破解
  9. 感悟人生——佛家经典禅语
  10. 学习笔记三十:IO流(二)