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。