我在 Visual C++ 6.0 中维护一个大项目(~250k loc,不计算从 idl 生成的代码),它使用 Visibroker(简称 VB)5.2.1(这是 Borland 的 CORBA 实现)。最近,与我的项目通信的另一个模块升级到 VB 8.0,我遇到了一堆不兼容的问题。由于 VB 5.2.1 不再受支持,而 VB 8.0 不能与 Visual C++ 6.0 一起使用,因此我正在考虑将整个项目迁移到 Visual Studio 2005。这不是像 total rewrite large C++ application in C#? 这样的大变化。 , 但仅解决所有不兼容错误。
我的问题是我应该使用什么样的策略来完成这项任务?以前有人做过吗?另外,对我来说问题是项目的规模。做这种迁移需要多少努力?
仅供引用,该项目有一个 MFC 中的前端 GUI 部分和一个后端 CORBA 部分。两者虽然分离得不是很好。
最好的问候。
最佳答案
理论上,您只需在新 IDE 中打开旧项目并构建它即可。实际上,您将遇到两个问题 - 保存“这里是我所有的源文件和我的编译器选项”的元文件和您的实际代码:.dsp 和 .dsw 回到过去,现在是 .sln 和 .vproj。第一个可能需要你经历从 6.0 到 7.0 再到 8.0 的升级过程,如果你不想或不能,你可能需要通过制作一个空的解决方案/项目并将你的源文件添加到它并设置您的选项。
然后您需要处理自上次构建以来库中的任何重大更改。我认为这很可能是安全 CRT 更改和 for 循环范围。编译器会为你找到它们。您不会很喜欢改变这一切,但这是可以预料的。
顺便说一下,我会一直使用 VS2010,而不是 2005。在你必须再次执行此操作之前,尽可能多地为自己购买一段时间。
关于c++ - 将 MFC 中的一个大项目从 Visual C++ 6.0 迁移到 Visual Studio 2005,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2974187/