码迷,mamicode.com
首页 > 其他好文 > 详细

VS2005使用宝典

时间:2015-04-24 19:36:20      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:vs编译错误

问题1:unsigned大多数编译器都会认为是unsigned int,是否意味着我们可以进行缩写,编码的成本在哪里,还是调试的成本最重要,和可读性。


问题2:fatalerror LNK1112: 模块计算机类型“MIPS”与目标计算机类型“THUMB”冲突

参考:http://www.jb51.net/softjc/83192.html

解决方案:请选择与解决方案相同的编译平台。


问题3:太多的警告信息妨碍错误信息的查看

解决方案:点击视图->其他窗口->错误列表


问题4:调试的过程中出现调用汇编代码,如何查看源代码

解决方案:查看调用堆栈,双击,查看当前调用汇编的代码是那个函数产生的,也可以鼠标右键点击选择查看源代码(前提是必须源代码,调用的库提供的只是dll,没有源码)


问题5:CXX0017: 错误: 没有找到符号test1d.dll  test2d.dll

解决方案:由于解决方案中有些模块提供的是release版本的dll,所以无法将整个工程置于debug模式,从debug调试出错的信息中最后的d代表的是debug调试版本的dll。所以

必须在解决方案配置中选择release


问题6:项目源码非常多,如果修改一个文件代码选择重新生成解决方案大概需要花费15分钟的时间,目前没有测试过生成解决方案是否可以减少编译和链接的时间?

解决方案:修改某个文件之后不需要重新生成解决方案,然后直接开始执行调试,自动将修改的文件重新编译。


问题7:error LNK2001: 无法解析的外部符号 "public: virtual class  CTest::TCodeEntry const * __thiscall CTest::CTestImpl::GetItemByCode(unsignedint)" (?GetItemByCode@CTest@CTestImpl @@UAEPBVTCodeEntry@2@I@Z)     testimpl.obj

解决方案:遇到这个问题,表示在链接的过程中,没有找到真正的实现,通过半小时的查阅代码发现如下的问题:

引用class A

在函数Func(A a)中进行了调用,在实际的过程中,A被定义为了struct结构体类,这个时候链接的过程中,就没有办法找到class A,这一点应该注意。

    在实际的过程中,务必注意真正的实现和声明是否一致,这个非常重要。


问题8:error C2259TestQuery::CtestQueryImpl :can not instantiate abstract calss

解决方案:首先了解虚基类作为接口,所有的纯虚函数必须在子类中实现,否则编译出错,然后查看当前的编译错误提示,说明目前的虚基类无法实例化,说明有纯虚函数没有实现,通过半个小时的代码查阅,发现是子类的函数声明和基类的函数声明参数列表不一致,说明在拷贝代码的过程中出现错误,或者修改代码,但是基类代码没有同步


VS2005使用宝典

标签:vs编译错误

原文地址:http://linuxstorm.blog.51cto.com/5218690/1637984

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!