我在找一些关于依赖问题的帮助。简而言之,我已经在一个更大的VC++工作区中包含了一个makefile项目,但是这个子项目总是重新构建,即使它不是必要的。
细节
我继承了一个由几个不同模块组成的大型项目,包括一个(主要的)VisualBasic6.0可执行文件和一个较小的VisualBasic6.0DLL。
现在,它是手动构建的,通过启动每个IDE并从自己的环境生成每个组件。我想将它转化为VC++ IDE中的一键构建。(最终目标是导出makefile,自动化整个过程,并建立夜间构建。)
为此,我向VC++工作区添加了一个"Makefile“项目。makefile通过从命令行调用VB编译器来构建VB。
问题是VB项目总是重新构建自己,在构建过程中增加了几分钟。我想我可以通过将所有VB源文件添加为依赖项来避免这种情况,但这可能会变成维护问题,因为每当VB组件更改时,开发人员都需要更新VC++工作区。
是否有一种方法可以使构建过程更具选择性,所以VB只在DLL 需要重建时才运行,而不是将每个源文件作为依赖项添加到VC++项目?。
谢谢你的想法!
发布于 2009-01-10 09:10:02
你可以自己做依赖扫描。只有当任何VB源文件比VB-build的构建输出更新时才触发VB构建(在该文件中,可以使用通配符递归扫描,即没有显式配置)。您可能需要额外注意VB项目使用的引用。
这当然需要一些手工制作文件的编写。由于VB6似乎不支持任何依赖项检查本身,所以我想不出任何纯基于IDE的解决方案(这不需要您提到的双重簿记)。
由于您刚刚开始为VB项目实现夜间构建,这似乎表明该项目可能需要更长时间的开发/维护。这段较长的时间本身可能意味着将VB项目移植到VB.NET,这将大大改善VB项目的构建过程。
https://stackoverflow.com/questions/431329
复制