VC++6.0中工程移植到VS2010中遇到的一些问题

本文记录了将VC++6.0工程移植到VS2010时遇到的挑战,包括dll文件缺失、语法不兼容和项目配置问题。解决方法包括在SysWOW64目录下放置dll文件,处理sqrt函数的类型问题,以及调整MFC相关代码。此外,还提到了VS2010产生的sdf和ipch文件的处理方式。
摘要由CSDN通过智能技术生成

随机过程实验的C++工程是运行在VC++6.0平台的,而我的机子上是VS2010,貌似VC++6.0在WIN7-64bit机上很难安装成功,就不想折腾,直接就用VS2010吧,虽然知道肯定不会完全向下兼容,最后终于解决,备忘吧。

1.缺失dll文件的的问题

这个还是一个一个去下载吧,然后将其放在SysWOW64,因为看到在编译链接时就是在这个目录下寻找dll的,虽然一般dll也会放在system32目录下,是不是system32下放的是32位应用程序需要的dll文件,而SysWOW64下是64位的,在网上看到说安装dll后需要在运行中运行regsvr32 msvcrtd.dll(这里以msvcrtd.dll为例)注册,但貌似注册不怎么成功,不注册也可以,只放在相应目录下即可。

2.语法不兼容的问题

这些也应该很常见,根据报错在网上找吧

我的问题是sqrt这个函数的问题

这是VS2010对数据类型的检查更加严格

在VS2010中sqrt()至少有:

double sqrt(double x)
long double sqrt (long double x);

如果sqrt()的参数不是double ,long double,如果不显式强制类型转换,sqrt()就不知道该强制转换为哪种数据类型,就会报错,编译不通过


还有一个关于MFC的问题:

error C2440: “static_cast”: 无法从“UINT (__thiscall CSco

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值