学习VC、MFC中遇到的各种问题及解决办法

时间:2021-02-03 15:29:55

MFC:

1.用VC6在WIN7中编译生成ocx文件时,下方组建窗口显示“Registering ActiveX Control...”后没有表明

“regsvr32:DllRegisterServer in .\Debug\Clock.ocx succeeded." 即说明控件是没有注册。在测试容器中将找不

到我们编写的ocx控件。并且在命令提示符中用"regsvr32   路径"的方法也不能注册。

解决办法:用管理员权限打开VC6,打开我们刚才的工作空间dsw文件,“组建 -> 全部重建”,下方编译结果的窗

口中依然没有显示注册是否成功,但是,在container的“edit ->insert new control ...”可以找到我们编写的控件,

并且测试顺利。


VC:

1.生成发布版

1、确定Debug版无错,注意Trace等调试方法可能造成的错误
2、Release版的exe文件链接的是标准的MFC DLL,比如MFC42.dll。这些DLL在安装Windows的

时候,就会装到系统中。因此,这样 的exe在没安装Visual C++ 6.0 的机器上也能运行。而

Debug版不能,除非使用静态链接

生成release版的步骤:

右键点击菜单空白处——选择“组建”——选择“Win32 Release“——重新编译链接。

如果有一个错误:Release/Server.pch No such file or directory 。Server是我的程序名。

解决方法:

工程——设置——C/C++——分类:预编译的头文件——不使用预补偿页眉——确定——全部

重建