【问题标题】:Visual Studio 2008 sp1 vc++ project works in 32 bit mode, but not 64 bitVisual Studio 2008 sp1 vc++ 项目在 32 位模式下工作,但不是 64 位
【发布时间】:2010-11-21 11:06:55
【问题描述】:

我有一个在 Windows 7、x86 安装下运行良好的项目。在同一台机器上,但在不同的驱动器中,我都安装了 Windows 7、x64 和 Visual Studio 2008 sp1。

项目在win32下编译运行。当我尝试在 x64 下编译项目时,我什么也得不到,一切都被“跳过”。此外,当我尝试获取 64 位版本下的任何内容时,操作会失败并出现“未指定错误”。在 64 位端,我可以切换到 win32 构建目标,看着它工作,然后尝试切换到 x64 位端,然后沮丧地咬紧牙关。如果我尝试为每个配置进行批量构建,除非我只做 win32 项目,否则完全失败。

我已经看到这个项目在别人的机器上运行,所以我知道它可以在 64 位上运行,但是出于某种奇怪的原因,这个项目对我来说并不适用。

我试着跑了

devenv /resetskippkgs

根据this suggestion here,但没有爱。

感谢任何帮助...

根据 Pavel 的建议进行编辑,我尝试使用

vcbuild /platform:x64

我得到了错误:

vcbuild.exe : warning VCBLG6001: Project 'project.proj' does not support platform 
'x64', or the platform support DLL for this platform is not installed.

这有帮助吗?安装时 Visual Studio 不会自动执行正确的操作吗?

【问题讨论】:

  • 如果你使用vcbuild project.vcproj从命令行构建它,它可以工作吗?
  • 这种方法似乎只是直接跳过了 x64 构建。也许如果我直接将 vcproj 编辑为默认为 x64...
  • 不,它不起作用。我收到一条如上所述的错误消息...

标签: c++ visual-studio-2008 x86 64-bit


【解决方案1】:

解决方案!发布是因为我为此浪费了很多时间,我希望其他人不会同样浪费时间(否则,我会删除问题)。

显然,Visual Studio 2008 安装程序默认拒绝在我的机器上安装 x64 编译器工具。我不知道这是否是因为我在 AMD 机器上并且有一些关于在该处理器上运行的问题,或者只是有人犯了错误,或者什么,但是一旦我检查了 Visual Studio 安装的内容,我发现刺眼的红色“x”表示未安装 x64 编译器。 ARM,是的,x64,我正在使用的处理器,不。

因此,重新添加该处理器选项似乎已将宇宙恢复到应有的位置。

【讨论】:

  • +1 你就是男人,这是不可否认的。 (迷糊的可以在安装/升级过程中看到X,而不是通过Visual Studio。)
【解决方案2】:

我使用的是基于 Internet 的设置(所有内容都是从 Internet 下载的)。这里也有同样的问题。 x64 的所有内容似乎都已安装,但在选择 x64 版本或调试解决方案时无法编译或检查属性。

这是因为 .NET framework 3.5 x64 不适用于 Windows XP,并且它不会安装在您的 Windows XP x64 上。如果没有这个框架,显然你无法编译任何 x64 代码。

【讨论】:

  • 您使用的是速成版吗?您使用什么语言,C++ 还是 C++ CLI?因为如果你的代码是非托管的,你就不需要 .NET。你是 xp x64 还是 xp 32?因为如果是后者,可能很难说服编译器做 32 位编译以外的任何事情。
猜你喜欢
  • 2012-05-29
  • 2010-12-15
  • 2017-08-03
  • 1970-01-01
  • 2012-07-13
  • 1970-01-01
  • 1970-01-01
  • 2014-11-05
  • 2011-08-01
相关资源
最近更新 更多