您的位置:首页 > 其它

msdev & devenv 的命令行用法

2013-06-18 08:47 218 查看
http://www.cppblog.com/rise-worlds/archive/2009/07/23/90892.aspx

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 环境变量中读取

选项。

===============================================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: