1、一个单文档的工程,一直好好的,突然今天打开VC++6.0的工程的时候,发现app类竟然从类视图中消失了,而工程仍然可以正常
编译运行,请问各位这是怎么回事?怎么解决?
答:这是vc6的bug,出现这种问题时,删除工程目录下的.ncb文件,重新打开工程即可。
2、debug工程ChatRoom时不报错,release时却出了很多错误,怎么回事,怎么解决?
答:socket程序,debug时链接了ws2_32.lib所以不报错,release时也要链接,否则就会报错。
3.今天模仿龚建伟写的那本vc/tc 串口通信编程实践第一章的例子在vc6下写程序,编译时却不能通过,出现了13个连接错误,诸如error LNK2001: unresolved external symbol "public: virtual struct CRuntimeClass * __thiscall CMSComm。我完全按照人家说的做的。为什么呢?怎么解决?
答:按着书中指导添加MSComm控件时会自动添加CMSComm类到类视图中,等到我编译时它却消失了,跟本篇文章第一个问题一样,我进去把ncb文件删了,重新打开工作区间,还是不行。我只好把那个MSComm控件删了,又按着指导重新插入这个控件,其他地方都不用变,一编译,好了!我擦,这该死的vc6,真他妹得让人蛋疼!
4、警告: warning LNK4089: all references to "SHELL32.dll" discarded by /OPT:REF。
原因:The linker discarded all packaged functions that referenced exports in dynamic-link library. As a result, dynamic-link library and its import library are unneeded。
解决方法1:在Project-->Setting->Link选项中添加"/OPT:NOREF "。
解决方法2:使用"#pragma warning(disable:4089)"屏蔽该warning。