我有一个Visual Studio解决方案,其中包含许多项目。 x86和x64都有调试和发布配置,当选择特定组合时,所有内容都以该格式成功构建。
但是,现在要求无论当前选择的“位数”如何,都应该将某个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)\ microsoft visual studio 9.0 \ vc \ include \ codeanalysis \ sourceannotations.h(17):error C2371:'size_t':redefinition;不同的基本类型
20 - ;预定义的C ++类型(编译器内部)(19):参见'size_t'的声明
20> C:\ Users \ melol \ Desktop \ local \ march03 \ src \ thirdparty \ Microsoft SDKs \ Windows \ v6.0 \ include \ winnt.h(81):致命错误C1189:#error:“没有目标建筑“
有问题的exe是带有wWinMain的Windows命令行实用程序。只有两个#include是
#include <windows.h>
#include <iostream>
思想?
答案 0 :(得分:1)
你绝对可以在Visual Studio 2008中构建32/64位(反之亦然)。
实现任务的最简单方法似乎是通过使用“批量构建”来实现:http://msdn.microsoft.com/en-us/library/169az28z(v=vs.90).aspx
使用此对话框可以构建多个项目配置 一度。例如,您可以决定构建每个项目 使用一个命令配置项目。你可以访问它 “构建”菜单中的对话框。