VC調試經驗

VC調試經驗

一、右鍵點擊函數名"轉到定義"(英文版本"go to definition")有時候總是出現"未定義符號"的信息.其實程序已經編譯通過的,但是爲什麼總這樣呢? 

雖然可以編譯通過,也不影響運行,但是找不到定義有時候編程很麻煩的,有大蝦知道怎麼弄嗎?

1.有可能是VA未安裝正確,但是我遇到的情況是我的VA安裝正確的。
2.我的解決辦法:刪掉工程的.ncb文件後重新編譯即可;以前也遇到過斷點打不上去的事情,也是刪掉.ncb後重新編譯就可以了。
附帶一下VS工程的幾個文件的用途:
.clw文件記錄了類的信息,如果classView中某個類不見了,重新生成該文件就可以了,方法:刪除此文件,點擊“建立類嚮導”,根據提示輸入工程名稱就可以了;
.ncb文件記錄了類的提示信息,如果類的成員函數和變量的提示不見了,重新生成該文件即可,方法同上;
.aps文件記錄了資源信息,要利用現成的資源,需要修改3個文件,.rc文件,Resource.h文件和.aps文件,.aps直接刪除後,進入程序,VC會自動生成。

二、VS2008 error C2664的解決 字符編碼

http://blog.csdn.net/lanzily99/article/details/8029526

三、LINK : warning LNK4098: 默認庫“LIBCMTD”與其他庫的使用衝突;請使用 /NODEFAULTLIB:library

http://blog.csdn.net/pgmsoul/article/details/4203941

四、編譯、鏈接相關知識

http://blog.csdn.net/lanzily99/article/details/7982761

五、VC++的鏈接錯誤LNK2005

http://blog.csdn.net/lanzily99/article/details/7948313

六、error LNK2019: 無法解析的外部符號 _main,該符號在函數 ___tmainCRTStartup 中被引用

這個問題表明你新建的是一個main類型函數(控制檯程序),而你的程序中有窗口程序,顯然是個win32函數,解決方法:
1.進入project->setting->c/c++, 在category中選擇preprocessor,在processor definitions中刪除_CONSOLE, 添加_WINDOWS
2.進入project->setting->Link, 在Project options中將 /subsystem:console改爲/subsystem:windows.
3.保存設置,Rebuild All

http://blog.sina.com.cn/s/blog_6e6c5f230100p92p.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章