【发布时间】:2011-02-10 10:36:16
【问题描述】:
我意识到这个问题以前曾被问过 - 但没有一个答案适用于我的具体案例:
我有一个包含本机 C++ EXE 项目的解决方案,该项目又依赖于 40 多个本机 C++ DLL 项目(在同一解决方案中)。
EXE 项目具有通常的 Debug、Release(和 Profile)配置,但由于它们的源代码库相同用于构建三个不同的应用程序(比如 A1、A2 和 A3)。此外,它针对 x32 和 x64,因此总共有 3 x 3 x 2 = 18 个项目配置。
DLL 项目由所有三个目标应用程序共享,因此只有 3 个(Debug、Release、Profile)乘以 2 (x32, x64) = 6 种配置。
由于 EXE 项目依赖于 DLL,因此每当修改 DLL 项目的相关输出时,都需要将其复制到其目标文件夹(或其子文件夹)。
您将如何处理 DLL 的更新?
每个 DLL 项目中的构建后操作不起作用(很好),因为它必须将 DLL 复制到 A1、A2 的相关输出文件夹 和 A3。输出文件夹中的任何更改都会导致必须修改 50 个 DLL 项目中的每个项目中的构建后操作。
我目前将 DLL 本身作为项目项添加到 EXE 项目中,并配置了自定义构建工具以将其复制到输出文件夹。但这需要我将每个 DLL 添加 6 次,所以我最终得到 6 x 50 = 300 个 DLL!
我真正需要的是像“复制本地”选项这样的东西,不幸的是它只适用于程序集。您是否建议简化此构建设置的解决方案?
【问题讨论】:
标签: visual-studio-2010 build-process native