我有一个包含多个项目的解决方案。其中一些项目共享源文件。我已经设置了项目树,以便共享源文件的项目放在一起。我的问题是,当我进行清理并构建共享源文件时,每个项目都会重新编译,而不仅仅是第一个使用它们的项目。结果是初始构建花费的时间比应有的时间长,并且我必须构建多次才能满足所有依赖项(需要重新链接)。该项目是来自 gcc 项目的端口,该项目使用一系列 make文件来执行构建。 make 文件不会重复编译。有没有什么方法可以处理上述情况,以便在 Visual Studio 中满足人们所期望的依赖关系?问题是否是由于源文件与 .idb 和 .pdb 文件之间的依赖性造成的?
更新:我真正需要的是一种方法来告诉 VS 对具有不同 DLL 和 LIB 名称的相同 obj 文件执行重新链接。我可以通过在重新链接项目中包含 .obj 文件来使其工作,但无法弄清楚如何创建调试/发布版本。在项目文件的部分中, $(IntDir) 似乎没有被解析。所以...
在项目1中
file1.c file2.c file3.c 链接到 dll1.dll,dll1.lib
然后在项目 2 中,项目 1 中的目标文件仅这次再次链接到
dll2.dll,dll2.lib
项目3同样的事情。 ETC。
我也在 MS 论坛上发布了此消息,但尚未收到答复。
如果您可以重新组织代码来执行此操作,将共享 .obj 文件构建到库项目中,然后您可以从依赖项目链接到该库。
这是我能想到的解决问题的唯一“干净”方法 - 我能想到的任何其他方法都可能涉及“战斗”或“欺骗”视觉工作室,这通常是一个坏主意。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)