【发布时间】:2010-12-24 07:37:40
【问题描述】:
有没有一种简单的方法可以用 32 位版本的 Visual C++ 2010 Express 编译 64 位应用程序?需要哪些配置(如果有)?
【问题讨论】:
标签: c++ 64-bit visual-studio-express
有没有一种简单的方法可以用 32 位版本的 Visual C++ 2010 Express 编译 64 位应用程序?需要哪些配置(如果有)?
【问题讨论】:
标签: c++ 64-bit visual-studio-express
64 位工具不适用于 默认情况下为 Visual C++ Express。到 在 Visual C++ 上启用 64 位工具 Express,安装 Windows 软件 开发工具包 (SDK) 除了 Visual C++ 速成版。否则,一个 当您尝试 将项目配置为针对 64 位 使用 Visual C++ Express 的平台。
如何:将 Visual C++ 项目配置为面向 64 位平台
下载Windows SDK,然后进入查看->属性->配置管理器->活动解决方案平台->新建->x64。
【讨论】:
我发现了一个重要的步骤来添加这个 - 在您安装 SDK 之后,转到您的项目属性并将 Configuration Properties->General->Platform Toolset 从 v100 或其他任何内容更改为 Windows7.1SDK。这会将 $(WindowsSdkDir) 更改为正确的位置,并且似乎也解决了我遇到的其他一些困难。
【讨论】:
并确保您下载了 Windows7.1 SDK,而不仅仅是 Windows 7。这让我很头疼。
【讨论】:
以下是分步说明:
无论如何,这些步骤对我有用。有关第 2 步的更多详细信息,请参阅 Microsoft 的参考资料,之前的海报提到:http://msdn.microsoft.com/en-us/library/9yb4317s.aspx。
【讨论】:
在 64 位环境中编程与 32 位环境有很大不同。 生成的代码在 32 位和 64 位代码中具有完全不同的汇编结构,甚至与函数通信的协议也发生了变化。所以你不能使用 32 位编译器生成 64 位代码。
您可能希望看到article on Microsoft's web site 以 64 位目标为目标但使用 32 位开发机器。
【讨论】:
请注意,如果安装了 Windows SDK v7.1,则将 Visual Studio 2010 Professional 或 Visual Studio 2010 Express 升级到 Visual Studio 2010 SP1 时会删除 Visual C++ 编译器。
有关解决此问题的说明,请参阅 Microsoft 支持网站上的 KB2519277。
【讨论】:
正如 Jakob 所说:如果存在 MS VC++ x64 和 x86 运行时以及版本 10.0.40219 的可再发行组件,则无法安装 windows sdk 7.1。删除它们后,win sdk install 没问题,VS C++ SP1 可以再次正常安装。
亲切的问候
【讨论】: