0

我正在寻找有关依赖问题的帮助。简而言之,我在一个更大的 VC++ 工作区中包含了一个 makefile 项目,但子项目总是会重新构建,即使它不是必需的。

细节

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

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

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

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

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

谢谢你的想法!

4

1 回答 1

1

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

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

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

于 2009-01-10T17:10:02.613 回答