C++6.0软件所遇Bug汇总

最近用C++6.0编了一些MFC的程序,在此汇总整理了编程时主要遇到error与bug。有任何错误和建议,可在下方留言指正。谢谢!


注:红色为网上搜索的解决方式,红色粗体为自己检验有效方法和部分原创方法

 

1.C++6.0在WIN7,WIN8,WIN10上安装时,使用“打开文件”,程序崩溃

解决方法:http://www.mamicode.com/info-detail-517499.html


2. assistantX安装以及程序窗口无法关闭问题解决

解决方法:http://blog.sina.com.cn/s/blog_a4c12c920101a21n.html

 

3.MFC窗体无法显示问题

把debug文件夹删掉,再重新编译。

 

4.fatalerror C1083: Cannot open precompiled header file: 'Debug/**.pch': No such fileor directory
在网上搜集了一下,这个错误是预编译文件的设置造成的,于是总结了几种尝试的方法:
1)单独编译StdAfx.cpp。
2)编译所有(即按Ctrl+F7)。
3)在工程-设置-c++-最下面的工程选项里去掉××.pch文件。
4)在工程-设置-c++-在分类里选择预编译头文件,选择自动使用预补偿页眉,或者选择不使用预补偿头。

5)第一个想法是需要 re-compile 一下,如果不行,可以把pre-compile  header (预编译头)的设置游 /Yu改成 /Yc试试。

注意:一般尝试前两步就够了,就是先单独编译下StdAfx.cpp

 

5.cannotopen file ".\Debug\test.res"

1)在工具栏中 先选清除解决方案 然后再选重新生成解决方案
2)直接把debug文件夹删掉 再重新生成

3)程序执行成功,证明确实是电脑这使用者权限问题,而造成问题的出现。

可以通过用管理员身份开启vc++6.0程序,或者赋予使用者有关文件的管理权。

 

6.mfco42d.dll0xC0000005:accessviolation

调试错误停在constCOleDispatchDriver&COleDispatchDriver::operator=(constCOleDispatchDriver& dispatchSrc)内部

1.运行C:\Program Files (x86)\Microsoft Visual Studio下的vc6通用补丁.reg

2.用管理员身份运行VC++6.0

3.定义变量时类型错误,例如:BOOL ThreadFlag;应修改为bool ThreadFlag;

还有定义变量的位置也有一定关系

4.Debug删除,重新编译,发生cannot open file".\Debug\test.res"错误,关闭程序并重新以管理员身份运行

5.在甲电脑,就是笔者的电脑,程序可以正常运行;但是在乙电脑,就是同事的电脑,程序运行却出现(MFCO42D.DLL):0xC0000005:Access Violation错误信息。

在甲的机器上,链接的是MFCO42D.DLL的6.0.8168.0版本

在乙的机器上,链接的是MFCO42D.DLL的6.0.8972.0版本

而将MFCO42D.DLL放到了笔者运行程序的Debug目录,注意:该库的版本的是6.0.8168.0版本。

程序每次运行的时候:就会首先从Debug目录查找MFCO42D.DLL动态链接库,加载运行。

在乙电脑上,编译的是MFCO42D.LIB的6.0.8972.0版本,而加载的是Debug目录下的6.0.8168.0版本的MFCO42D.DLL动态链接库,版本不匹配,故而运行出错。

解决方案:
1.将运行程序的Debug目录下的MFCO42D.DLL的文件删除掉;

2.让甲乙两台电脑的VC6开发环境一样,都是VC6+SP6补丁。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值