直接转换的时候遇到两个问题:

1、预编译头文件*.PCH找不到

2、static_cast”: 无法从“void (__thiscall CView2::* )(void)”转换为“LRESULT (__thiscall CWnd::*

1、来源:http://www.zhuyanfeng.com/archives/2231

错误:

fatal error C1083: 无法打开预编译头文件:“Debug\xxx.pch”: No such file or directory

“Rebuild All”没有解决,然后把“C/C++”属性中的“预编译头”由“使用(/Yu)”改为“创建(/Yc)”,问题攻克了。看来还是预编译头文件xxx.pch创建的有问题。细致想一下,vcproject的预编译头是由stdafx.cpp编译生成的。(事实上起作用的是stdafx.h,但头文件不參加编译,所以须要stdafx.cpp文件,这个文件中仅仅有一句代码:#include “Stdafx.h”。)

VC++6.0版本号程序转成VS2010版-LMLPHP

综上:最妥善的解决方法就是,在project属性中。选择“使用(/Yu)”预编译头,而单独将stdafx.cpp设置为“创建(/Yc)”预编译头。

关于“预编译头”的作用,參考例如以下:

04-26 17:18
查看更多