用于VC ++项目的Visual Studio 6中的批处理构建

时间:2011-09-21 10:24:59

标签: visual-studio visual-c++ batch-build

在VS 2008和VS 2010中,可以轻松创建解决方案并修改“解决方案配置”。当我们在解决方案级别触发构建时,我们可以选择构建每个项目的配置。

Visual Studio 6.0中是否提供此类工具?

根据我的经验: 当VS6中为VC ++项目选择配置(从可用列表中)时,依赖关系(它们自己定义了多个配置)以某种随机顺序构建。在构建时无法控制依赖项的配置。

“批量构建”确实接近这一点,但对我的目的来说并不灵活。

我在VS6中尝试了各种选项。 希望我很清楚。

1 个答案:

答案 0 :(得分:1)

这是MSDEV命令行上的链接。 https://msdn.microsoft.com/en-us/library/aa699274(v=vs.60).aspx

一种控制依赖关系构建的方法。指定/NORECURSE并且不会构建依赖项。

我将/REBUILD/NORECURSE一起使用,以防止构建依赖项。

我通过对子目录执行chdir并仅为该子项目调用MSDEV,在bat文件中的工作区内一次构建一个项目:

msdev myproject.dsp /MAKE "myproject - Win32 Debug" /REBUILD /NORECURSE > Build.log

然后我cd一次一个地到达下一个项目目录。

另一方面,我有几年的困难,NMAKE对我的具体任务不起作用。事实证明,MSDEV(Visual Studio 6.0)中的PATH环境变量与您运行PATH的命令shell的NMAKE环境变量不同

MSDEV shell使用的路径是Visual Studio 6安装时的%PATH%。我们使用这个并根据MSDEV的需要戳注册,以便在切换软件版本时获得正确的路径设置;但这无助于更新%PATH%。可以使用查询脚本查询MSDEV路径。我没有方便的例子。

这就是为什么MSDEV中的构建有时在使用命令行的构建时不起作用,因为DLL的路径不同,并且任何运行.exe的自定义构建步骤都不能在MSDEV环境之外工作,除非路径已更新。

我有一个脚本,它读取注册表中的查询以提取MSDEV路径并更新shell的PATH,以便执行nmake的批处理脚本将像在MSDEV shell环境中一样工作。 REGISTRY QUERY的问题是返回参数因Windows的不同风格而不同(XP / SERVER2003 /...).

我刚发现的一件事是Incredibuild适用于旧的VS6.0 MSDEV IDE。这是一个改变游戏规则的游戏。它分发构建。我现在正在评估它,但它可能对等待长VS6.0版本的人有用。