我正在尝试在 Visual Studio 2008 Express Edition Service Pack 1(之后安装一些相关的 Windows SDK)下、IDE 和命令行中构建 64 位本机 C++ 应用程序。这是在 Windows XP Professional x64 Edition Version 2003 Service Pack 2 机器上。
我知道专业版可能会提供真正的 VS IDE 集成,但我特别希望在 Visual Studio 2008 Express Edition 中做到这一点。
但是,我在 Visual Studio 2008 Express IDE 的项目配置中遇到了一些麻烦,希望有人能回答可能是什么问题。关键目标是能够从 IDE 本身vcvarsall.bat
构建 64 位本机应用程序,以及通过执行批处理文件或类似批处理文件从命令行。
这是我到目前为止所尝试的:
我安装了带有 SP1 的 Visual Studio 2008 Express Editions,它安装了某种类型的 SDK,但我相信不是包含 64 位编译器的正确版本(但当时不知道)。
我构建了一个 hello world Win32 控制台应用程序,并查看了为可执行文件生成的清单文件。我在那个清单文件中找到了“x86”,它不是 64 位 AFAICT,所以我做了更多的研究。
我发现Visual Studio 2008 速成版中“缺少”什么?. 我看到了一些回复,其中一个是缺少功能列表,其中包含“64 位 Visual C++ 工具”作为这些缺少的功能之一。
但是,在维基百科条目中,我们看到:
将 64 位编译器真正集成到 Visual C++ 2008 Express Edition 是可能的,但仍然很麻烦。9
因此,我尝试了上面给出的9 个链接中的说明。该链接实际上是指How to: Configure Visual C++ Projects to Target 64-Bit Platforms。我浏览了该页面上的步骤,但到了他们指示您执行以下操作的地步:
单击类型或选择新平台下拉箭头,然后选择 64 位平台。
但是下拉列表中没有条目。
我再次参考了 Wikipedia 上的 SDK 页面,特别是64 位开发部分,其中指出:
最新发布的用于 Windows Server 2008 和 .NET Framework 3.5 的 Windows SDK 包含更新的 x86、x64 和 Itanium (IA-64) Visual Studio 2008 编译器。
因此,谷歌搜索/MSDN 搜索“Windows SDK for Windows Server 2008 and .NET Framework 3.5”让我了解了我应该安装哪个 SDK?页。从该页面中,我看到Microsoft Windows SDK for Windows 7 和 .NET Framework 3.5 Service Pack 1于 09 年 8 月发布,因为它是最新版本。它的发行说明似乎暗示它至少包含 64 位编译器,但没有明确说明它修补了 Visual Studio IDE 以提供一种选择 x64 目标的方法,这就是我所追求的。
我再次尝试了How to: Configure Visual C++ Projects to Target 64-Bit Platforms指令,并得到了相同的空下拉列表。
所以我当时认为编译器没有安装,所以我尝试执行vcvarsall.bat amd64
命令,并遇到了More VS2008 and Windows SDK Server 2008 questions中描述的错误。
即使我破解vcvarsall.bat
批处理文件以使命令行构建工作,IDE 是否仍会因为无法配置 Visual Studio 项目以使用 64 位编译器构建而“瘫痪”?
谢谢!
bg