我可以在Visual Studio 2008中使C ++表现得像早期版本吗?

时间:2009-07-01 23:54:41

标签: c++ visual-studio visual-c++

我需要使用在Visual C ++ 6.0中开发的一些旧的C ++代码。现在它给了我很多编译错误。 (例如,“无法打开包含文件:'iostream.h'”...因为现在应该说 #include< iostream> 而不是 #include< iostream.h> 的)。

如何使用此代码而无需在整个地方进行更改?

5 个答案:

答案 0 :(得分:15)

问题是,VC6非常破碎。你只是逃避了vc6中的那些编译器错误,因为vc6太松了。修复错误,你会很高兴你做了 - 我已经完成了两次转换,它使代码更加安全。

答案 1 :(得分:8)

不幸的是,VS2008中没有可以执行此操作的目标功能。

您只需要清理代码即可。幸运的是,VS2008比旧版Visual C ++(特别是VC 6)更符合标准。获取代码清洁应该有助于将来(您不太可能在以后担心这一点),以及在您决定移植到其他平台时提供帮助。

答案 2 :(得分:4)

正如其他人所提到的,改进使用VS 2008的代码将是一项值得的工作。

如果这不是一个选项(即旧应用程序崩溃并且需要立即修复),您可以尝试创建安装了VC 6的虚拟机并使用它来编译应用程序。

答案 3 :(得分:2)

如果您正在寻找一种基本上迫使Visual Studio 2005/2008将VC6编译器用于C ++代码的swich,它就不存在了。

有很多方法可以使用自定义make文件和大量hackery来实现。我不知道有谁达到了这个目标,但我确信有足够的工作可以实现。

但是,我同意这个帖子中的大多数其他人。现在修复代码可以让你获得更好的服务。你可能会花费尽可能多的时间或更多的时间来实现一个解决方案,就像你直接修复代码一样。

答案 4 :(得分:1)

你绝对应该修复代码。

如果你不能这样做,如果你只有像#include<iostream.h>这样的问题,你也可以自己创建一个iostream.h文件:

#pragma once

#pragma message("*********************************************")
#pragma message("Do not use #include <iostream.h> in new code!")
#pragma message("*********************************************")

#include <iostream>

using namespace std;