2011-08-26 130 views
0

我有一个混合拱门解决方案。我有几个DLL项目和两个exe项目(一个必须编译为32位,另一个为64位)。混合32/64位解决方案

这两个EXE依赖于相同的DLL项目。所有的dll项目都有32位和64位的配置。 Exe项目只有一个配置(一个配置为32位,另一个配置为64位)

不幸的是,当我构建我的解决方案时,所有的dll只在全局选择的配置中构建一次,所以一个exe项目总是得到错误的arch dll。

可以在VS2008构建系统中解决吗?

回答

0

如果其中一个前缀得到了错误的dll,那么你的解决方案配置是错误的。 右键单击解决方案并选择配置管理器。请确保您有两个平台有(的Win32和),以及32位的EXE只选择了的Win32平台,而64位的EXE必须只seletced为平台。 现在,当为任一平台构建解决方案时,它应该总是正确的,因为只有一个exes将被构建。

虽然你总是需要两次构建解决方案,但是有足够的选项可以为你自动完成:VS自己有一个批量构建对话框,但是我建议你创建一个调用vcbuild的批处理文件,或者制作一个小的msbuild脚本并运行它。