VC调试经验

来源:互联网 发布:淘宝2012新规则 编辑:程序博客网 时间:2024/05/29 10:51

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

原创粉丝点击