有没有一种简单的方法可以用 32 位版本的 Visual C++ 2010 Express 编译 64 位应用程序?需要哪些配置(如果有)?
8 回答
以下是分步说明:
- 下载并安装 Windows 软件开发工具包 7.1 版。Visual C++ 2010 Express 不包含 64 位编译器,但 SDK 包含。SDK 的链接:http: //msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
- 更改您的项目配置。转到项目的属性。在对话框的顶部会有一个“配置”下拉菜单。确保选择“所有配置”。还会有一个“平台”下拉菜单显示“Win32”。最后在右侧有一个“配置管理器”按钮 - 按下它。在出现的对话框中,找到您的项目,点击平台下拉菜单,选择新建,然后选择 x64。现在将“活动解决方案平台”下拉菜单更改为“x64”。当您返回到“属性”对话框时,“平台”下拉菜单现在应该显示为“x64”。
- 最后,更改您的工具集。在项目的 Properties 菜单中,在 Configuration Properties | 一般,将平台工具集从“v100”更改为“Windows7.1SDK”。
无论如何,这些步骤对我有用。有关第 2 步的更多详细信息,请参阅 Microsoft 的参考资料,之前的海报提到:http: //msdn.microsoft.com/en-us/library/9yb4317s.aspx。
默认情况下,Visual C++ Express 上不提供 64 位工具。要在 Visual C++ Express 上启用 64 位工具,除了 Visual C++ Express 之外,还要安装 Windows 软件开发工具包 (SDK)。否则,当您尝试使用 Visual C++ Express 将项目配置为面向 64 位平台时,会发生错误。
如何:将 Visual C++ 项目配置为面向 64 位平台
并确保您下载了 Windows7 .1 SDK,而不仅仅是 Windows 7。这让我很头疼。
我发现了一个重要的步骤来添加这个 - 在你安装了 SDK 之后,转到你的项目属性并将 Configuration Properties->General->Platform Toolset 从 v100 或任何它更改为 Windows7.1SDK。这会将 $(WindowsSdkDir) 更改为正确的位置,并且似乎也解决了我遇到的其他一些困难。
请注意,如果安装了 Windows SDK v7.1,则在将 Visual Studio 2010 Professional 或 Visual Studio 2010 Express 升级到 Visual Studio 2010 SP1 时会删除 Visual C++ 编译器。
有关解决此问题的说明,请参阅Microsoft 支持站点上的KB2519277 。
下载 Windows SDK,然后转到 View->Properties->Configuration Manager->Active Solution Platform->New->x64。
在 64 位环境中编程与 32 位环境有很大不同。生成的代码在 32 位和 64 位代码中具有完全不同的汇编结构,甚至与函数通信的协议也发生了变化。所以你不能使用 32 位编译器生成 64 位代码。
您可能希望在 Microsoft 的网站上看到一篇关于以 64 位目标为目标但使用 32 位开发机器的文章。
正如 Jakob 所说:如果存在 MS VC++ x64 和 x86 运行时以及版本 10.0.40219 的可再发行组件,则无法安装 windows sdk 7.1。删除它们后,win sdk install 没问题,VS C++ SP1 可以再次正常安装。
亲切的问候