【问题标题】:Including a VB project within a VC++ project在 VC++ 项目中包含 VB 项目
【发布时间】:2010-09-30 16:29:46
【问题描述】:

我正在寻求有关依赖性问题的帮助。简而言之,我在更大的 VC++ 工作区中包含了一个 makefile 项目,但子项目总是会重新构建,即使在没有必要时也是如此。

细节

我继承了一个由多个不同模块组成的大型项目,包括一个(主要)Visual C++ 6.0 可执行文件和一个较小的 Visual Basic 6.0 DLL。

现在它是手动构建的,通过启动每个 IDE 并从其自己的环境生成每个组件。我想把它变成从 VC++ IDE 中的一键式构建。 (最终目标是导出 makefile,自动化整个过程,并进行夜间构建。)

为此,我在 VC++ 工作区中添加了一个“Makefile”项目。 makefile 通过从命令行调用 VB 编译器来构建 VB DLL。

问题在于 VB 项目总是会自行重新构建,从而使构建过程增加了几分钟。我想我可以通过将所有 VB 源文件添加为依赖项来避免这种情况,但这可能会变成维护问题,因为它需要开发人员在每次 VB 组件更改时更新 VC++ 工作区。

有没有办法让构建过程更具选择性,所以 VB 仅在 DLL需要 重新构建时运行,而不是将每个源文件作为依赖项添加到 VC++ 项目中?

感谢您的意见!

【问题讨论】:

    标签: visual-studio build-process dependencies


    【解决方案1】:

    您可以自己进行依赖扫描。仅当任何 VB 源文件比 VB 构建的构建输出更新时才触发 VB 构建(您可以使用通配符递归扫描,即没有显式配置)。您可能需要额外注意 VB 项目使用的引用。

    这当然需要一些手动的 make-file 编写。由于 VB6 本身似乎不支持任何依赖检查,我想不出任何纯粹基于 IDE 的解决方案(不需要您提到的双重簿记)。

    当您刚刚开始为 VB 项目实施夜间构建时,这似乎表明该项目的开发/维护时间可能会更长。更长的时间本身可能表明将 VB 项目移植到 VB.NET,从而大大改善了 VB 项目的构建过程。

    【讨论】:

    • 谢谢。 Makefile 完全没有问题,它们可以让我们避免枚举单个文件。 FWIW,我正在自动化,因为我们失去了项目的主要开发人员,并且 mgmt 保证这是最后一个版本......所以我们将在未来 2 年内至少再发布 6 个版本。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 2014-11-19
    • 1970-01-01
    相关资源
    最近更新 更多