从VC6升级到vs2010需要修改的部分经验交流

这篇博客分享了将VC6程序升级到VS2010过程中遇到的问题及解决方法,包括头文件的更改、编译错误、项目过大、资源迁移、帮助文件制作等方面,旨在帮助开发者顺利完成升级,避免弯路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为适应平台的需要,需将之前的vc6程序升级到vs2010的平台,升级的过程,各种不顺利,现特整理了部分容易遇到的问题,分享给小伙伴,少走弯路!

1. 将头文件中#include <iostream.h>改为#include <iostream>

2. 将头文件中#include <fstream.h>改为

#include <fstream>

Using namespace std;

3. error C2039: “nocreate”: 不是“std::basic_ios<_Elem,_Traits>”的成员

改nocreate为_Nocreate;

4. pow(x,y)函数定义,x不能为int型,因此要进行转换,比如pow(2,3)必须写成pow(2.0,3)pow( ((float)2,3)

5. 参数1不能从“const char[20]”转换为“LPCTSTR”类型是什么意思

    如果是windows程序的话,就是设置的问题,项目-属性-常规-字符集-使用多字节字符集。

6. error C2666: “pow” : 7 个重载有相似的转换(错误修改方法)

pow函数有7个重载,编译器不知道该用哪一个(因为参数类型不明确),在参数中使用常数或表达式时经常遇到这样的问题,可以把常数和表达式的值先保存到变量中,然后再调用函数,或者在函数的参数中加上强制类型转换。两个参数的类型明确并符合其中的一个就可以了。

7. “VC 2010 项目过大” 问题解决方案

    使用VC2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大。
方案一:Tools->Options->Text Editor->C/C++->Advanced->Disable Database,设置为True,即禁用数据库,这种方法实行后,还真是产生了些问题,比如,无法自动加载代码。为此,就没有使用此方法。
方案二:Tools->Options->Text Editor->C/C++->Advanced,在 Fallback Location 的属性组中,将"Always Use Fallback Location"设置为 true,将"Do Not Warn If Fallback Location Used" 设置为 true ,然后删除解决方案目录下的 sdf 文件和 ipch 目录,再次打开解决方案,发现这些烦人的东西已经不见了。中文版得为,在高级里,“退回位置”两个选项都变为True。
这样一来,几百兆的项目,用清理工具一清理,也能变成几百K了。
那么那些文件放置到那里了呢?看 "Fallback Location" 属性说明:这是存储浏览信息数据库和 IntelliSense 文件的第二个位置,如果不指定则放置到临时目录中;到临时目录一看,里面有一个 VC++ 的目录,都在那个目录里面呢。
可以 "Fallback Location" 属性中,设置一个固定的路径来存储这些文件,比如D:\VS2010Temp,这样也比较好管理这些庞大的臃肿的文件,可以定期清理掉它们,释放出硬盘空间!

8.  程序中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值