VS错误记录

1、VS2005 源码由一台计算机Copy到另一台。

     fatal error LNK1257: 代码生成失败… fatal error C1047: The object or library file '.\Release\building\…………

     解决方法:VS版本不匹配。8.0.50727.42RTM版本  8.0.50727.867打了SP1补丁的版本 8.0.50727.876安装了KB936707补丁的版本

 

Microsoft® Visual Studio® 2005 Team Suite Service Pack 1下载:http://www.microsoft.com/zh-cn/download/details.aspx?id=5553 

SP1安装步骤:http://blog.sina.com.cn/s/blog_4c6e822d0100gzol.html

报错:Windows Insraller服务不能安装此升级修补程序.因为找不到要升级的程序.说着升级修补程序可能更新的是不同版本的的程序.请验证要升级的程序存在.并且您的升级修补程序正确.

解决方法:下载与VS2005版本对应的SP1。

 

2、在工程中添加现有项.c or .h等文件。

    error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”?

    解决方法:工程中的每个cpp文件属性默认都是使用预编译头(/YU),但添加的第三方文件并没有 #include "stdafx.h" 预编译指示头,所以编译器在此cpp文件中一直到末尾都没有找到

    1) 在解决方案资源管理器中,右击相应的.cpp“属性”

    2) 在左侧配置属性中,点开“C/C++”,单击“预编译头”

    3) 更改右侧第一行的“创建/使用预编译头”,把选项从“使用预编译头(/Yu)”改成“不使用预编译头”

    注意:每一个报错的.cpp都要更改

 

 3、问题:无法解析的外部符号

  确认函数头文件、lib均已包含在项目中
  解决方法:对比两个工程的预处理器,发现缺少宏:USE_STATIC_LIB

 4、C++工程:Debug 和 Release 运行结果不同

     参考博客原地址:http://blog.csdn.net/yangyangyang20092010/article/details/38744813
     原文内容引用:

      VS2008 Debug 和 Release 版本程序运行结果不同的可能原因小结

问题:VS2008下,Debug 和 Release模式下均可正常运行的程序,但两者的结果却不同。 现总结可能原因如下:

1. 注意OpenMP等并行化算法在 Debug 和 Release下可能存在的区别;

2. 注意 float,double型数据强制转换为 int 型,或与int型,或int 型间做除法等运算时产生的数据丢失、偏差;

3. 变量未默认初始化。Debug 和 Release对于没有人为初始化的变量的处理是存在区别的,因而会导致后续错误;

4. 程序涉及图像数据生成、操作的,例如用opencv在程序中动态生成IplImage型图像数据,要保证图像的宽最好为4的倍数(具体原因参看相关图像格式的内容),否则Debug 和 Release各自在处理每行多余或补充的像素时,会以不同的数值初始化,因而导致后续使用时,图像数据本身存在了差别;

5. Debug 和 Release本身存在的编译、代码优化的差异,会使其对数据,尤其是浮点数据,的运算结果有轻微的偏差。例如不同模式下,会对运算表达式的先后顺序作优化调整,这会导致可能存在的数据运算结果的细微不同。通常,这种偏差不会很大,而且出现较为随机。如果结果偏差很大,那么就不是本条原因所对应的问题。具体原因及可行的优化方法在如下几个链接中:

http://stackoverflow.com/questions/141752/float-values-behaving-differently-across-the-release-and-debug-builds

http://ofekshilon.com/2009/08/28/debugrelease-numerical-differences/

http://msdn.microsoft.com/en-us/library/aa289157%28VS.71%29.aspx

http://msdn.microsoft.com/en-us/library/e7s85ffb.aspx?ppud=4 

解决方法:因程序中一个变量未初始化,导致debug,release运行结果不一致

 

posted on 2014-04-14 09:38  Liz-  阅读(286)  评论(0编辑  收藏  举报