在 Visual Studio 2008 Express Edition (VS2008EE) 中配置 64 位编译
Posted
技术标签:
【中文标题】在 Visual Studio 2008 Express Edition (VS2008EE) 中配置 64 位编译【英文标题】:Configuring 64-bit compilation inside Visual Studio 2008 Express Edition (VS2008EE) 【发布时间】:2010-07-31 00:06:36 【问题描述】:我正在尝试在 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 本身构建 64 位本机应用程序,以及通过执行批处理文件(如 vcvarsall.bat
或类似的批处理文件)从命令行。
这是我目前尝试过的:
我安装了Visual Studio 2008 Express Editions with SP1,它安装了some type of SDK,但我相信不是包含64位编译器的正确的(但当时不知道)。
我构建了一个 hello world Win32 控制台应用程序,并查看了为可执行文件生成的清单文件。我在那个清单文件中发现了“x86”,它不是 64 位 AFAICT,所以我做了更多的研究。
我找到了What is “missing” in the Visual Studio 2008 Express Editions?。我看到了一些回复,其中一个回复是 a list of missing features,其中包含“64 位 Visual C++ 工具”作为缺失的功能之一。
但是,在wikipedia entry 我们看到:
将 64 位编译器真正集成到 Visual C++ 2008 Express Edition 是可能的,但仍然很麻烦。 9
所以,我尝试了上面给出的 9 链接中的说明。该链接实际上是指How to: Configure Visual C++ Projects to Target 64-Bit Platforms。我浏览了该页面上的步骤,但到了他们指示您执行以下操作的地步:
单击类型或选择新平台下拉箭头,然后选择 64 位平台。
但下拉列表中没有条目。
我再次提到了 Wikipedia 上的 SDK 页面,特别是 64-bit development section,其中指出:
最新发布的适用于 Windows Server 2008 和 .NET Framework 3.5 的 Windows SDK 包含更新的 x86、x64 和 Itanium (IA-64) Visual Studio 2008 编译器。
所以谷歌搜索/MSDN 搜索“Windows SDK for Windows Server 2008 和 .NET Framework 3.5”让我进入了Which SDK do I install? 页面。从那个页面我看到Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 Service Pack 1 于 8 月 9 日发布,因为它是最新的。它的发行说明似乎暗示它至少包含 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 problems 中描述的错误。
即使我破解了vcvarsall.bat
批处理文件以使命令行构建工作,IDE 是否仍会因无法配置 Visual Studio 项目以使用 64 位编译器构建而“瘫痪”?
谢谢!
bg
【问题讨论】:
【参考方案1】:短!
适用于 Windows 7 和 .NET Framework 3.5 SP1 的 Windows SDK
与
http://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/
【讨论】:
这个链接很有帮助。考虑到它的复杂性,我需要很长时间才能完成所有工作。我怀疑其中大部分可以通过 Jscript 自动化。 链接已过时:(以上是关于在 Visual Studio 2008 Express Edition (VS2008EE) 中配置 64 位编译的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2008 或 Visual Studio 2010 中设置 JavaScript 断点
我可以在 Visual Studio 2008 中使用 Visual Studio 6 编译的 C++ 静态库吗?
Visual Studio 2010 显示旧的 Visual Studio 2008“添加引用”对话框
Visual Studio 2012 未能检测到 Visual Studio 2008 构建工具