c++ - 将 MFC 中的一个大项目从 Visual C++ 6.0 迁移到 Visual Studio 2005

标签 c++ visual-c++ visual-studio-2005 mfc corba

我在 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/

相关文章:

c++ - 来自 hflip 的段错误

C++ 文件系统迭代器无效参数

c++ - 创建自己的 HRESULT?

visual-c++ - 为什么 Visual C++ 版本号中有逗号而不是点

c++ - 从单元测试 .EXE 项目中引用来自 VC++ .EXE 项目的类

c++ - 用于处理的大数据集,需要维护原始数据集

vb.net - 如何将vb类添加到类库中?

c++ - C++ 编译器或预处理器能否将符号转换为大写?

c# - 派生DataGridView绘图问题。显示黑色区域

visual-studio - 如何在 Visual Studio 2005 和 2003 中设置非管理员开发