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

2024-01-25

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

如何在同一个解决方案的不同项目中使用相同的obj文件 的相关文章

  • 由于意外的编码更改,Visual Studio 2008 项目文件无法加载

    在我们的团队中 我们在 Visual Studio 2008 中有一个数据库项目 该项目由 Team Foundation Server 进行源代码控制 每隔两周左右 一位同事签入后 项目文件将无法加载到其他开发人员的计算机上 错误信息是
  • Javascript Intellisense 未显示所有内容

    需要集思广益 我对 Javascript 库 jQuery ExtJS 等 有疑问 这些库似乎与 Visual Studio 2008 中内置的 Javascript Intellisense 不能很好地配合 它们提供了 Intellise
  • Visual Studio 格式化整个文件?

    有没有办法在 VS2008 中使用 CodeRush Express 发出关键命令来正确格式化整个文件 Use Ctrl K Ctrl D to format document keystroke Use Ctrl K Ctrl F to
  • 在 Visual Studio 2008 中分配鼠标按钮

    有谁知道如何在 Visual Studio 2008 中将额外的鼠标按钮绑定到命令 曾经有一个 powertoy 可以让你在 Visual Studio 2003 中做到这一点 但我找不到 2008 的等效工具 虽然 AutoHotKey
  • 无法在 Web 服务器上启动调试。无法连接到网络服务器

    我在 Windows 7 x32 上运行 Visual Studio 2008 IIS 7 5 我可以在 IIS 7 5 中运行 ASP NET 网站 无需进行调试 但是当我按 F5 进行调试时 我得到 无法在 Web 服务器上启动调试 无
  • 使用 CUDA __device__ 函数时出现链接器错误 2005 和 1169(多重定义的符号)(默认情况下应内联)

    这个问题与以下问题有很大关系 A 如何将CUDA代码分成多个文件 https stackoverflow com questions 2090974 how to separate cuda code into multiple files
  • 自定义 Visual Studio 起始页

    有没有办法自定义 VS 2008 起始页 我想显示一个网站 Sharepoint 站点 而不是新闻源 但我找不到解决方案 Update 关于卡什回答 https stackoverflow com questions 553392 cust
  • Visual Studio 忽略 try catch - 仅调试

    我认为错误处理是个好主意 调试时它可能会妨碍 特别是对于用户友好的消息 在 VB6 中 我只需选中编译器的一个框即可忽略我的错误处理 我found https stackoverflow com questions 893277 is th
  • VisualStudio C# x64,为什么 AddReference 选项、.NET 选项卡指向 x86 DLL 而不是 x64?

    我想创建一个 x64 应用程序 当我想添加引用时system data在窗口 AddReference 选项卡下的 NET 中 我只看到 x86 DLL 并且我需要 64 位版本 I have Windows Server 2008 htt
  • 日期时间在转换时出错

    我有这种甲酸盐的字符串 19 8 1988 note String DateOfBirth 19 8 1988 当我使用Datetime parse DateOfBirth 它给了我invalid dateformat error 我也无法
  • 为什么 Visual Studio 2008 中删除了在新 ATL 项目中使用属性的选项?

    这是来自 MSDN 评论的文本 根据 ATL Internals 2ed 一书 属性的使用已被弃用 不应在新的 ATL 项目中使用 但为什么 在 ATL 中 这些属性是编译器的技巧 它们不像 C 中的属性那样是平台的核心部分 它们的调试也比
  • 在 TFS 构建过程中运行 WatiN 测试时出现超时问题

    我已经在我的开发环境中运行了一个简单的 WatiN Web 测试 并尝试让它在 TFS 构建服务器上运行 尝试加载页面时失败 但出现以下异常 WatiN Core Exceptions TimeoutException Internet E
  • Web.config 身份验证错误

    我使用的是SQLServer2005和VS2008 我在 web config 中的连接字符串是 add name library connectionString Data source KMT Initial Catalog Libra
  • 在生产 Web 服务器上安装 Visual Studio 的原因

    有人将 Visual Studio 安装在 Web 服务器上 其唯一目的是为传入请求提供服务 是否有正当理由 说真的 有人可能这样做有什么特殊原因吗 一种可能的用途是连接到 Web 服务器并调试某种错误或内存泄漏 这些错误或内存泄漏已被证明
  • 显示删除了多少行

    我使用C 程序 我的数据库是SQL Server 2008 当用户从数据库中删除一些行时 我想在 Windows 应用程序中向他 她显示删除了多少行 我想知道如何将 SQL 消息发送到 C 并向用户显示 例如 当我从表中删除 4 行时 SQ
  • 动态设置 Web 应用程序项目的 IISUrl

    我有一个 Web 应用程序项目 我希望能够在完全独立的 IIS 站点上进行分支和开发 而不必每次都继续编辑 vbproj IISUrl 设置 我尝试添加一些标准属性的导入 以便我可以在 WAP 文件之外维护它们 但是当我在元素中引用它们时
  • 无法访问 VBA 中的 COM 公开方法

    我正在尝试在 VBA 中访问 COM 公开的方法 Problem 我看到所有默认方法 例如GetHashCode GetType and ToString 在 VBA 中但是not那些是 COM 接口的一部分并且专门编写为 COM 可见的
  • vs2008循环引用(c#)

    这是我在 vs2008 解决方案中的设置 名为 MyProject Data 的项目中的数据层 名为 MyProject Web 的项目中的 Web 应用程序 MyProject Web 引用了 MyProject Data 在 MyPro
  • 如何阻止 Visual Studio 在设计器中打开我的 winforms 控件

    当我想编辑 查看我创建的 winforms 控件 表单的代码时 我需要右键单击解决方案并选择 查看代码 打开文件的默认操作是 视图设计器 对于任何包含从 winforms 控件继承的类的 C 文件来说 情况似乎都是如此 即使这是间接继承的
  • 如何在安装过程中运行“.bat”文件?

    在安装项目中 诸如 exe dll js vbs 之类的可执行文件是可以接受的 但无法运行 bat自定义操作中的文件 问题是如何运行 bat安装过程中的文件 好吧 经过大量搜索和反复试验 我解决了这个问题 我不确定这是否是最好的方法 但它确

随机推荐