【问题标题】:Command line builds for VC 6?VC 6 的命令行构建?
【发布时间】:2010-09-13 14:27:47
【问题描述】:

我已经习惯使用 VS2005 和 2008 - 使用 msbuild 等,但我继承了一组项目,现在必须保留在 vc6.0 中。我不喜欢在开发人员工作室打开每个项目并进行构建。我更喜欢构建表单命令行(我正在自动化构建)。这可能吗?

我已经尝试过 nmake 实用程序,但我仍然需要打开项目并保存/导出 make 文件。如果项目发生变化,这很乏味——每次我都必须保存 make 文件。 nmake 似乎可以工作,但是当我在目录树中更改项目的位置时出现了问题(我将 svn 签出到一个新的干净目录以尝试构建)。它似乎有硬编码路径,但我必须检查一下 - 这可能是一个不同的问题。

还有其他选择吗?

最终我会将这些迁移到 2008 年,但目前这不是一个选项。

【问题讨论】:

    标签: command-line build visual-c++-6


    【解决方案1】:

    我在这里记录了your link 中最重要的部分——微软有一个坏习惯,就是移动东西并留下死链接。这不仅是最重要的一点,而且它提供了足够的信息来在他们移动它时进行搜索。

    从命令行构建项目

    您可以从命令行构建 Visual C++ 项目,而无需先导出 makefile(MAKEFILE 或 filename.mak)并使用 NMAKE 实用程序。

    基本的命令语法是

    msdev FileName [/MAKE "ProjectName – ConfigName | ALL"] [/REBUILD /CLEAN /NORECURSE /OUT LogFile /USEENV]

    其中 FileName 是您的项目 (.dsp) 或工作区 (.dsw) 文件的名称。

    【讨论】:

      【解决方案2】:

      我想我在这里找到了答案: http://msdn.microsoft.com/en-us/library/aa699274.aspx

      谢谢大家

      【讨论】:

        【解决方案3】:

        当然你可以自动化。我已经好几年没用过vc了,但我认为编译器叫做c8.exe或者哇,我不记得像这样的愚蠢的小花絮了,但是在你的vc\bin目录中查看所有exe文件,它会是名字很明显。 你可以写一个批处理文件最坏的情况。但我还记得 UI 有一个“创建 makefile”功能。所以你这样做一次,然后从命令行运行 make ,瞧。或者可能是nmake。又是很久很久了。

        【讨论】:

          【解决方案4】:

          Microsoft 提供了用于构建 Visual Studio 项目的命令行驱动程序。在 VC6 中,它被称为“msdev”(执行 msdev /? 以获得选项列表)。

          在某些时候(可能是 VS.NET/VS 2002),出于某种原因,他们开始调用命令行构建驱动程序“devenv”。它有一些不同的语法,但对于驱动构建,选项是相同或相似的。

          【讨论】:

            【解决方案5】:

            我们在我的工作场所使用自动化构建。本质上只是我从命令行启动的批处理文件。让我确保在继续发布之前允许我发布一些示例代码。但是,是的,自动化构建是可能的。

            示例代码:

            :::::::: CompileSolution ::::::::::::::::::::::::::

            调用 X:\BuildTools\bin\BuildVbProj.bat %组件名称% %SOLUTIONDIR% %PROJFILE% %BUILDOUTPUTFILE% %PREBUILDFILE% 如果 %ERRORLEVEL% NEQ 0 转到构建错误

            转到清理

            编辑: BuildVbProj.bat 文件最终调用 Program Files\MS Visual Studio\VB98\ 文件夹中的 VB6.exe。尝试用“VB6.exe /?”调用它或“VB6.exe -?”它会显示一个选项列表。您基本上可以使用这些选项自动化您的流程。

            VC98文件夹中应该也有类似VC的exe。

            【讨论】:

            • 谢谢。我看到的所有 msdn 文档都是 2005 年相关的 - 没有一个适用于 vc6。或者如果它只是告诉我一些无用的“命令” - 其余的都是 nmake
            • grrr ...我也不知道如何显示“作为代码”,我不确定您在寻找什么...我自己是构建事物的新手。太糟糕了,他们不在学校教那个
            • BuildVbProj.bat 是 VB 的一部分还是您自己的脚本?我有一个同样出色的批处理文件,它的边距太小而无法包含。 :-)
            • 这是我们自己的脚本。我从 1999 年从某人那里继承它的人那里继承了它。它调用了 BuildVbProj.exe,我不知道是谁写的。
            【解决方案6】:

            另一种劳动强度较低的选择是


            下拉菜单 (BUILD)
            选择 (BATCHBUILD)
            按钮 (REBUILDALL)

            【讨论】:

              猜你喜欢
              • 2023-03-14
              • 1970-01-01
              • 2019-01-08
              • 2011-08-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多