visual-studio-2008 - 如何在同一解决方案的不同项目中使用相同的obj文件

我有一个包含多个项目的解决方案。其中一些项目共享源文件。我已经设置了我的项目树,以便共享源文件的项目在一起。我的问题是,当我清理并构建共享源文件时,每个项目都会重新编译,而不仅仅是第一个使用它们的项目。结果是初始构建花费的时间比预期的要长,而且我必须构建不止一次才能满足所有依赖项(需要重新链接)。该项目是来自使用一系列 make 的 gcc 项目的端口文件来执行构建。 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

project3 同样的事情。等等

我也在 MS 论坛上发布了这个,但尚未收到答复。

最佳答案

如果您可以重组代码来执行此操作,将共享的 .obj 文件构建到一个库项目中,然后您就可以从依赖项目链接到该库。

这是我能想到的解决问题的唯一“干净”方法 - 我能想到的任何其他方法都可能涉及“战斗”或“欺骗”visual studio,这通常不是一个好主意。

https://stackoverflow.com/questions/2603278/

相关文章:

erlang - Erlang 中的尾递归

modeling - Data Vault 模型什么时候是数据仓库的正确模型?

apache - 在 ReverseProxy 上下文中切换 SSLVerifyClient

python - python 中的 Rfc 1123

python - 压缩存档,可快速访问单个文件

ruby-on-rails - rails : Expected helper to define

c# - 以特定时间间隔从视频(mpg、wmv 等)中捕获帧

git - 如何使用 ssh 将 repo 克隆到远程服务器

sql-server - SQL 错误 : Verify that the instance nam

open-source - 用于检测运行笔迹的开源