2013-03-27 77 views
1

我有一个Visual Studio解决方案,其中包含许多项目。对于x86和x64都有调试和发布配置,当选择特定的组合时,所有内容都以该格式成功构建。我可以在Visual Studio 2008中从Win32解决方案配置(反之亦然)编译x64 exe文件吗?

但是,现在有一个要求,不管当前选择的“位”,某个C++项目应该被编译为x86和x64。因此,例如,当解决方案以x86调试模式构建时,构建目录中应该有两个exe调试副本,一个x86和一个x64。

实现此目的的最简单方法是什么?我已经尝试制作两个项目副本,exename_32和exename_64。我的第一个想法是将.vcproj文件中Debug | x64节点的内容复制到exename_64的Debug | Win32节点中。但是,当我尝试建立在Win32中模式下的解决方案,我得到了exename_64项目下列错误:

20> C:\ Program Files文件(x86)的\微软的Visual Studio 9.0 \ VC \包括\ codeanalysis \ sourceannotations.h(17):错误C2371:'size_t':重新定义;不同的基本类型

20>预定义的C++类型(编译器内部)(19):见 '为size_t'

20>的C声明:\用户\ melol \桌面\本地\ march03 \ SRC \第三方\微软的SDK \的Windows \ V6.0 \ \包括WINNT.H(81):致命错误C1189:#错误: “没有目标架构”

有问题的EXE是一个Windows命令行实用程序与wWinMain。只有两个#包括

#include <windows.h> 
#include <iostream> 

想法?

+0

通常情况下,您可以下载命令脚本,并将'msbuild'或'nmake'命令调用x86和x64体系结构中的项目。 – 2013-03-27 14:55:38

+0

有没有一种方法可以在Visual Studio中引发我想要的行为?我并不是唯一一个从事项目工作的人,所以希望解决方案的一般工作流程和组织保持不变。 – ShiggityShiggityShwa 2013-03-27 15:05:01

回答

1

你绝对可以打造32/64位(反之亦然)在Visual Studio 2008中

实现你的任务最简单的方法似乎是通过使用做“批生成”:http://msdn.microsoft.com/en-us/library/169az28z(v=vs.90).aspx

使用此对话框一次构建多个项目配置,全部为 。例如,您可以决定使用一个命令构建项目的每个项目配置。你可以从Build菜单访问这个 对话框。

+0

这当然有效,但它类似于编译32位,然后改变配置和编译64位,不是吗?我真正喜欢的是,例如,选择32位配置,单击Build,然后让它编译所有32位ex和一个64位exe,而不需要用户进一步交互。然后在64位配置中,它应该构建所有的64位exes和一个32位exe。理想情况下,他们都应该进入32位或64位目录。 – ShiggityShiggityShwa 2013-03-27 15:02:34

+0

但我会牢记这一点,因为从长远来看,这可能会有所帮助。 – ShiggityShiggityShwa 2013-03-27 15:08:02

相关问题