文档章节

msdev & devenv 的命令行用法

rise-worlds
 rise-worlds
发布于 2016/06/20 13:39
字数 2018
阅读 1
收藏 0

msdev是visual studio 6.0的IDE程序, devenv是visual studio 2005的IDE程序
两种IDE程序, 既可以工作在图形模式下,也可以工作在命令模式下.
其中, 直接运行msdev 和 devenv将打开vs6和vs2005的IDE界面. 命令行则支持不同的选项.
Msdev的命令行用法:
Usage:
  MSDEV [myprj.dsp|mywksp.dsw]  - load project/workspace
        [<filename>]            - load source file
        /?                      - display usage information
        /EX <macroname>         - execute a VBScript macro
        /OUT <filename>         - redirect command line output to a file
        /USEENV                 - ignore tools.options.directories settings
        /MAKE [<target>] [...]  - build specified target(s)
              [<project> - <platform> <configname>]
              [[<project>|ALL] - [DEBUG|RELEASE|ALL]]
              /CLEAN            - delete intermediate files but don't build
              /REBUILD          - clean and build
              /NORECURSE        - don't build dependent projects
比如projectdsw, 此工程文件由包含很多的子项目.
编译所有项目Debug版本为:
  msdev project.dsw /make "all - Win32 Debug x86"
其中有一个project有许多其他projects组成,就是build_all, 包含了C/C++的动态库,各种工具程序,还有各种示例程序. 编译此project Debug版本就为:
  msdev project.dsw /make "build_all - Win32 Debug x86"
如果还想编译Java的动态库, 在vc6中设置好java后, 运行如下命令即可:
  msdev project.dsw /make "db_java - Win32 Debug x86"
在工程文件外,还有一个用来衡量性能的程序, project_micro,编译该程序的命令为:
msdev project_micro.dsp /make "project_micro - Win32 Debug x86"
即,对于项目文件而言, 其只有一个project, 就是其本身.
对于自动化程序而言, msdev有一个弊端,就是程序返回值.  当项目文件/工程文件不存在的时候, msdev的返回值居然是0!, 和编译成功的一样, 也许msdev认为不存在就是成功吧.
devenv命令的格式就长了一点, 基本语法是:
devenv  [solutionfile | projectfile | anyfile.ext]  [switches]
比如, 为了方便VC2005以上的编译, project将会同时提供vc6所用的dsw文件同时, 也会推出一个sln文件,这sln文件就是solutionfile
使用此文件编译project默认配置的Debug版本为:
devenv project.sln /build "Debug|Win32"
只编译db的动态库则为:
devenv project.sln /build "Debug|Win32" /project db
编译project_micro则复杂点,因为vc2005默认的project file是.vcproj的,而不是.dsp格式的,而test_micro只有.dsp格式的故而,需要先转化为.vcproj格式的, 可以用VCBuild工具:
VCBuild project_micro.dsp /upgrade
这样就产生了project_micro.vcproj
用devenv编译就是:
 devenv project_micro.vcproj /build "Debug x86|Win32"
  之所有配置与上面不同在与, project_micro中是适用于VC6的配置, 转化过来以后, 配置是保留的.
与msdev不同, devenv将文件不存在视为编译失败. 更加适合程序处理.

附:devenv的命令行帮助

Microsoft (R) Visual Studio 8.0.50727.762 版。
版权所有 (C) Microsoft Corp 1984-2005。保留所有权利。

用法:
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 和 LIB 环境变量
                而不是使用 VC++ 生成的 IDE 路径。

要从命令行附加调试器,请使用:
        VsJITDebugger.exe -p <pid>


vcbuild 的命令行帮助

Microsoft(R) Visual C++ 项目生成器 - 命令行版本 8.00.50727
版权所有 (C) Microsoft Corp 1993-2003。保留所有权利。

用法: vcbuild [options] [project|solution] [config|$ALL]

选项:
/clean (/c)     只清除生成输出
/error:<str>    输出到 stderr 时添加到错误行的前缀
/errfile:<file> 将所有错误记录到指定的文件
/htmllog:<file> 将输出记录到指定的 html 文件
                (默认值: $(IntDir)\BuildLog.htm)
/implib         为 DLL 配置创建导入库(不链接)
/info:<str>     输出到 stdout 时添加到信息行的前缀
/link (/l)      执行链接,而不生成源
/logcommands    将命令和响应文件打印到屏幕
/logfile:<file> 将所有输出和生成信息记录到指定的文件
/override:<file> 使用给定属性表文件中的设置
                重写项目设置

/M<number>      指定要运行的并发生成的数量(如果可以运行并发生成)
/msbuild:<opt>  将 <opt> 传递至 msbuild.exe

/nocolor        在输出错误信息和警告消息时不使用颜色突出显示
/nohtmllog      不编写 HTML 生成日志文件

/noimplib       不生成导入库。
                注意: 此选项会重写 /implib。
/nologo         取消显示版本和版权信息
/nondefmsbuild  不要使用位于 .NET
                Framework 安装中的 msbuild.exe 副本
/platform:<str> 只为给定平台生成配置
/implibobjs:<s> 管理员的其他依赖项
/rebuild (/r)   清除生成输出并执行生成
/forcelink      强制链接,而不生成源
/showenv        在 html 生成日志中显示环境
/time           从开始到结束的生成时间
/upgrade        将项目文件升级到受支持的最新格式
                注意: 升级开关不执行生成
                注意: 对于解决方案文件,会忽略此选项
/useenv (/u)    使用 INCLUDE 和 LIB 路径的环境变量
/wrnfile:<file> 将所有警告记录到指定的文件
/warning:<str>  输出到 stdout 时添加到警告行的前缀
@<file>         从指定的响应文件读取选项

默认行为:
===============================================================================
如果没有指定项目,并且目录中只有一个 .vcproj 文件,
将会生成该项目。
如果没有指定配置,并设置了 VCBUILD_DEFAULT_CFG 环境
变量,将会生成该变量指定的配置。如果未设置
该变量,将会生成所有的配置。

默认操作是生成指定的配置,而不执行清除。

还将从 VCBUILD_DEFAULT_OPTIONS 环境变量中读取
选项。
===============================================================================

本文转载自:http://www.cnblogs.com/flying_bat/archive/2009/07/23/1529179.html

共有 人打赏支持
rise-worlds

rise-worlds

粉丝 2
博文 1755
码字总数 0
作品 0
深圳
程序员
私信 提问
windows 批处理命令获取当前盘符和当前目录

批处理命令获取当前盘符和当前目录 %~d0 是当前盘符 %cd% 是当前目录 可以用echo %cd%进行打印测试 以下例子是命令行编译Visual Studio编写的程序: @echo off set b=%cd% //将当前目录保存到...

shzwork
2018/11/29
0
0
vc 6.0的安装问题

vc 6.0安装只需要 下载好压缩包 解压后,在E:vc++6.0CommonMSDev98Bin目录下找到MSDEV然后随意改个名字叫MSDEV1然后点击它右键找到属性,找到兼容性选择 修改兼容模式为:Windows XP(Servi...

神迹难觅
2017/10/16
0
0
VS2010安装EFCodeFirst后无法显示ADO.NET DbContext Generator项目的解决方案

I:安装EFCodeFirst后,那个ADO.NET DbContext Generator没有显示啊~有木有?有木有? 为什么要写这个东西?因为你在安装EFCodeFirst时. 利用向导都安装不了啊~~有木有~ 这个向导我真的伤不起~~~...

晨曦之光
2012/06/05
174
0
Windows 10安装VC6

参考 安装完之后,在%Program Files%Microsoft Visual StudioCommonMSDev98Bin目录中,MSDEV.exe改名,并修改兼容性。 VC6 SP6无法安装的问题,详见http://stackoverflow.com/questions/3195...

山里来的鱼
2016/11/16
44
0
MSBuild使用3——构建C/C++项目

本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一、小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正! MSBuild使用3——构建C/C++项目 1. MSBuild可以Build C#项目,...

晨曦之光
2012/03/09
579
0

没有更多内容

加载失败,请刷新页面

加载更多

Java单例模式学习记录

在项目开发中经常能遇见的设计模式就是单例模式了,而实现的方式最常见的有两种:饿汉和饱汉(懒汉)。由于日常接触较多而研究的不够深入,导致面试的时候被询问到后有点没底,这里记录一下学习...

JerryLin123
昨天
4
0
VSCODE 无法调试

VSCODE 无法调试 可以运行 可能的原因: GCC 的参数忘了加 -g

shzwork
昨天
5
0
理解去中心化 稳定币 DAI

随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器。 坦白来讲,对于一个程序员的我来讲(不懂一点专业经济和金融),理解DAI的机制,真的有一点复杂。耐心看完...

Tiny熊
昨天
4
0
5.线程实现

用于线程实现的Python模块 Python线程有时称为轻量级进程,因为线程比进程占用的内存少得多。 线程允许一次执行多个任务。 在Python中,以下两个模块在一个程序中实现线程 - _thread 模块 th...

Eappo_Geng
昨天
7
0
ServiceLoader

创建一个接口文件在resources资源目录下创建META-INF/services文件夹在services文件夹中创建文件,以接口全名命名创建接口实现类 内容me.zzp.ar.d.PostgreSQLDialectme.zzp.ar.d.Hype...

Cobbage
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部