opencv使用中出现的错误与解决方法

来源:互联网 发布:国外类似于淘宝的网站 编辑:程序博客网 时间:2024/05/16 08:29

(1)代码是从网上下载的关于书上的代码,正确性应该是没问题的,当我采用cmake进行配置,然后运行其中一个项目时候,出现了下面的错误:(opencv error : asseration failed


       出现原因:我的所有vs中关于opencv的配置都是这样操作的:(包含目录的配置有问题)


       点击下拉按钮,选择编辑,然后将路径复制进去,点击确定。

      解决方案:点击下拉按钮,选择编辑,选择路径,点击确定,最后点击应用按钮就可以了。


(2)   link :fatal error link1104:无法打开文件“kernel32.lib

解决方法:项目-》VC++目录——》库目录添加一个

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib就可以了

(3)  添加外部附加依赖项方法

项目——》属性——》c/c++——》附加包含目录


项目——》属性——》链接器——》常规——》附加库目录

(4) error C3861:snprintf:找不到标识符

  snprintf()函数的格式跟printf差不多一样,是在c里面用的函数,包含在 #include <stdio.h>头文件中。

 

但snprintf()函数并不是标准c/c++中规定的函数,所以在许多编译器中,厂商提供了其相应的实现的版本。在gcc中,该函数名称就snprintf(),而在VS中称为_snprintf。 所以在需要使用snprintf()时改成_snprintf就可以了,或则在预编译处加入:

 

#if _MSC_VER

#define snprintf _snprintf

#endif

 

解决方案:

写成sprintf_s就可以了。

(5)fatal error C1083:无法打开包括文件:windows.h: No such file ordirectory

       因为 #include 后面的包含的文件时,如果使用的是"<>" 尖括号的话, 表示让编译器在系统头文件夹中查找对应名字的头文件, 当使用""""引号时,就是让编译器在当前程序目录下查找对应名字的头文件,如果没有找到,则编译器会再在系统头文件夹中查找该头文件. 所以,这里,你应该把 #include<class.h> 改为 #include"class.h" 还有, 你上面的程序的写法是不标准的,(但是能通过许多编译器) 应该这么写 #include <iostream> // 注意,标准中,系统头文件不推荐加 .h,类似地有 <cmath> 而不是 <math.h>。

上面的看看就好,解决方法如下:

 

可以试试在 INCLUDE 目录增加:$(WindowsSDK_IncludePath)

在 LIB 目录增加:$(WindowsSDK_LibraryPath_x86)

按照这样操作后,就没有问题了。


1 0
原创粉丝点击