如何正确设置VS2008 for x64编程?

时间:2012-11-04 08:29:53

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

在x64 win7上,我安装了VS2008和x64编译工具。我用一个简单的“hello world”控制台程序测试它。 x86和x64版本都编译完美无缺。 x86版本的Debug和Release颠倒都可以正常工作。发布的x64版本也可以正常工作。但是,Debug x64版本始终会引发并排错误。似乎无法找到调试运行时。

有人建议安装Debug运行时redist。令我感到惊讶的是:x64调试运行时应该已经作为x86版本安装了VS2008吗?

非常感谢!

@ sj1900“在VS安装中,某些x64编译器组件是可选的。值得检查它们是否已安装完毕。” 这是截图: VS2008 components

我在这里没有看到任何进一步的选择。 winSxS中根本没有amd64_microsoft.vc90.debugcrt。奇怪的问题。

2 个答案:

答案 0 :(得分:1)

某些x64编译器组件在VS安装上是可选的。值得检查的是,它们都已安装完毕。

答案 1 :(得分:1)

经过数小时的头部刮擦和测试后,我终于认为这是一个VS2008安装程序错误,由几个在线参考资料确认。

如果第一次安装了vs2008 而没有 x64编译器工具 ,但是通过修改功能安装了x64工具以后 安装程序,将显示错误:将丢失所有x64调试运行时和nodebug openMP运行时。重新安装不会解决此问题。

我在互联网上尝试了许多建议的方法:安装所有修补程序,ATL更新,更新到SP1或安装VCredist ......没有任何作用。

我发现有两种方法可以解决这个问题:

  1. 完全卸载VS2008然后再次安装VS2008,并选择x64工具。

  2. 对于安装了大量修补程序的人来说,这会很烦人。最直接的方法是构建安装程序以安装所有缺少的运行时create porject->other projects->setup project。然后add&Merge Module - >选择所有缺少的运行时:Microsoft_VC90_OpenMP_x86_x64.msmMicrosoft_VC90_DebugOpenMP_x86_x64.msmMicrosoft_VC90_DebugCRT_x86_x64.msm。 构建并发布解决方案,运行安装程序,然后转到%windir%\winsxs,您应该很高兴地看到所有这些运行时文件夹。然后您就可以开始调试x64程序了。 如果您正在使用VS2008SP1,那么您可能会收到有关运行时版本的其他错误。为避免这种情况,请在开始创建安装程序之前安装SP1的ATL更新。

  3. PS:VS2008中还有很多令人烦恼但不致命的错误,M $从不打扰修复。因此,请远离VS2008并尝试VS2010,除非您的项目有特殊需要迫使您坚持使用VC9。