Dan*_*ger 10 build-process native visual-studio-2010
我意识到之前已经问过这个问题 - 但是没有一个答案适用于我的具体案例:
我有一个包含本机C++ EXE项目的解决方案,该项目依赖于40多个本机C++ DLL项目(在同一解决方案中).
EXE项目具有通常的调试,发布(和配置文件)配置,但由于它们使用相同的源代码库来构建三个不同的应用程序(例如A1,A2和A3).此外,它以x32和x64为目标,因此总共有3 x 3 x 2 = 18个项目配置.
DLL项目由所有三个目标应用程序共享,因此只有3个(调试,发布,配置文件)时间2(x32,x64)= 6个配置.
由于EXE项目依赖于DLL,因此无论何时修改,它都需要将DLL项目的相关输出复制到其目标文件夹(或其子文件夹).
你会如何处理DLL的更新?
每个DLL项目中的构建后操作都不起作用(因为)它必须将DLL复制到A1,A2和A3的相关输出文件夹.输出文件夹中的任何更改都会导致必须修改50个DLL项目中的每个项目中的构建后操作.
我目前将DLL本身作为项目项添加到EXE项目中,并配置了自定义构建工具以将其复制到输出文件夹.但这需要我添加每个DLL 6次,所以我最终得到6 x 50 = 300个DLL!
我真正需要的是类似于复制本地选项,不幸的是只能使用程序集.您是否建议简化此构建设置?
我要做的是将所有DLL放在一个文件夹中(特定于Debug/Release等),然后将它们复制回EXE的相应输出文件夹.
这只能在两个动作中完成:
将所有DLL的输出目录设置为类似的文件夹 $(ConfigurationName)_$(PlatformShortName)
向EXE项目添加一个构建后操作,对于复制$(ConfigurationName)_$(PlatformShortName)\*.dll
到的所有配置都是通用的$(TargetDir)
编辑
由于$(ConfigurationName)
您的EXE与您的DLL项目不同,因此第二步中存在问题.不确定,但也许你可以有一种方法来推断相应的配置,以便仍然为你的所有18个配置都有一个post-build事件.这可能是一个新的SO问题:)
归档时间: |
|
查看次数: |
11988 次 |
最近记录: |