当前位置:首页 > 出现的错误及解决方法
? 出现
时,是因为Opencv不是本工程的软件,在用到时出现须知道它的保存途径。需在“我的电脑”图标处右键属性----高级---单击环境变量----双击PATH行--- 输入需要的软件路径D:\\opencv1.o\\OpenCV\\Bin。 ? 出现
无法打开包括文件:“ *.h ”: No such file or directory时,可能是以下原因:
首先,我想我们要确定的是头文件名写错了没有?
其次,如果是我们自己写的头文件,我们一定要写成 #include \ *.h \这种形式.
第三,当我们是直接将文件从别的地方添加到我们的工程中的时候,我们一定要保证那些文件也要移到我们的工程目录下,否则也会出现上面的问题. ( http://blog.csdn.net/li_007/archive/2007/05/31/1633442.aspx ? 出现
找不到cvErode标识符时,说明是头文件没有定义。可以把光标放在
?
?
?
?
cvErode处,右键“转到定义”,查看它是在cv头文件中,然后在头文件处定义文件名#include \即可。 出现
” 无法解析的外部符号_cvReleaseImage”的错误时,说明是配置环境的文件不齐全。在项目---cvision属性--配置属性--连接器--输入--附加依赖项--把库文件名cv.lib highgui .lib cxcore.lib cvcam.lib输入。 出现
无法打开文件“highgui.obj”,只要在项目---cvision属性--配置属性--连接器--输入--附加依赖项--把库文件名cv.lib highgui .lib cxcore.lib cvcam.lib输入就可以了。 出现
无法打开文件“strmbase.lib”时,查看电脑中有的是strmbasd.lib cv.lib highgui.lib而不是strmbase.lib cv.lib highgui.lib。在配置环境中改过来就可以了 出现
无法解析的外部符号_IID_IMediaEvent
无法解析的外部符号_IID_IMediaControl、1>cvisionDlg.obj : error LNK2001:
无法解析的外部符号_IID_IGraphBuilder 无法解析的外部符号_CLSID_AVIDec 无法解析的外部符号改_CLSID_AviSplitter
striimds库文件的缘故,
通过“我的电脑”搜索得到striimds的存放途径为D:\\DXSDK\\Lib,在库文件中添加此路径,再在附加依赖项中写成cv.lib highgui.lib cxcore.lib cvcam.lib strmiids.lib,即可。(第1个程序调试时,在库文件处已添加路径)
(http://hack.gameres.com/showthread.asp?threadid=3472)
? 出现
无法打开文件“ipl.lib”错误时,由前面的经验知道,这种情况是没有添加相应的库文件,而我在“我的电脑”中搜不到ipl.lib库文件,所以没办法添加相应的路径到库文件中,参考卢坚学长的报告第8页的第8个问题知道,在依赖文件处把ipl.lib删除,就可以了。(但是删除库文件后对程序的功能是否有影响呢?通过询问学长,知道删除库文件对程序的功能没有影响,且只要程序能够运行成功,功能都是一样的。还知道在依赖项处多添加库文件对程序的运行是没有影响的,但少添加就因为缺少文件而不能运行。)
无法解析的外部符号_IID_IBaseFilter”错误时,是缺少
以上一些需要注意的问题
? 在依赖项处添加库文件时,每个库之间用空格隔开,为一个空格键的位
置。空格太大也会使程序不能运行;(如果第1次添加时有差错,以后的每一次都是如此。这种情况需特别注意)
? 若打不开文件时,不要盲目的添加,先看它的后缀是.lib(库文件)、还是.h
(包含文件),再在相应位置添加文件的路径;
? 注意各文件名的拼写,若写错了就会提示“无法打开此文件”的错误; ? 添加库文件时,要在选项菜单和工具菜单下同时添加。
? 出现
‘Date‘follow by‘Void is illegal(did you forget a‘;’?) 解决方法是:在类后,主函数void main前加‘;’ ? 出现
‘function—style cast‘:illegal as right side of’.‘oprator解决方法为:因为构造函数和析构函数是被自动调用的,当我们不定义时,系统默认。但是当我们定义时 ,不管他们的函数体是否为空,都应该把‘{}‘写上。 ? 出现
‘没有找到MSVCR80D.dll,因此这个应用程序未能启动。重新安装应用程序可能会修复此问题‘ 解决方法为:
? 微软官方:在项目的“属性|配置属性|清单工具|常规”中的“使用FAT32解
决办法”选择“是”(默认为“否”),重新生成项目即可解决问题。该方法是唯一真正针对问题所在而提出的解决方法,使清单工具可以正确更新。(此方法是官方解决方法,也比较方便,推荐,注意:一定要先配置这个选项,然后再编译工程,要不然还是不好用:)
? 找到你的工程的文件夹,如(myproject),找到其下的
myproject\\myproject\\Debug\\ myproject.rec,把它删掉(删掉整个Debug目录也可以),重新编译!(慎用!!!!)
? 由于这是在链接动态运行库出现的问题,所以你可以选择代码生成的连接方式为
/MTd而非/MDd,不用这些DLL文件从而避免问题的出现。该方法有一个很显然的缺点:适用范围有限,并且也不是我等提倡的解决问题的方式,不推荐该方法。
? 既然跟FAT32系统有关,那么我们可以选择在NTFS文件系统中开发从而避免该
问题,此方法同上,也是采用的回避问题的方式,不为我等提倡。
? 既然问题是在更新嵌入的清单文件时发生的,由于FAT32的原因而未能更新嵌入
的清单文件,于是我们有如下两种解决方法: (1)不启用增量链接。在项目的“属性|配置属性|链接器|常规”中的“启用增量链接”选择“否”。此方法阻断了问题产生的源头,其每次生成exe文件时都直接嵌入清单文件,而不是默认的根据时戳而决定是否更新清单文件。 (2)不嵌入清单文件。在项目的“属性|配置属性|清单工具|输入和输出”中的“嵌入清单”选择“否”,从而在生成exe文件时附随生成一个清单文件(默认情况下,其文件名为exe文件的全名加上“.manifest”),避免了嵌入清单文件可能失败的问题。在程序运行时,会用到该清单文件。显然,这种方式使可执行程序产生了更多的外部依赖,不推荐。
? 实验6的问题
为什么不直接在image上操作?那个黑色的窗口是干嘛用的?拷贝的原版是那个黑框还是image? 12.出现
错误时,有可能是没有包含文件。 13.出现
错误时,可能是因为if语句后面多了一个“;”。 14.出现
使用了未定义类型“teacher”
错误时,是因为在编译时,编译器不知道提前说明的东西是什么,也就是说编译器不承认我们事先声明的类。我们要在一个类中应用另一个类,得把那个类定义在前面,或者在应用时把类定义成指针形式。(好像又不是这样的解决方法)但值得注意的是在用前一定要声明。(权衡一下,还是定义后再用比较好。因为定义后,不管是否使用指针或引用都是可以的) 15.当出现
错误时,是因为在调用类的函数时,可能不是用“.”,而是应该用“->”。 16.当出现
调试时没有错误,但是推出后就会中断,可能是因为没有释放造成的。所
以在关闭之后再开就又可以运行成功了。
17. 当打开资源视图时,出现\在另一个编辑器中打开\说明是相关的文件已经以代码形式打开了,所以就不能再打开了.把那个文件在右边窗口关闭,再重起程序就可以了. 18. 出现
“未知的标识符”
一般都是拼写错误,注意检查代码中的拼写问题。 19. 当出现
时一般是空指针或是越界。检查指针。
20. 当出现
时,只要把debug运行改为release运行就可以了(release不会去连接*d.dll库)。或是把项目属性?配置环境?清单工具?输入输出?嵌入清单改为否。或是把Int…main(int...,char…)改为main()也可以。 (http://topic.csdn.net/u/20080427/16/9b92f949-1354-491c-b4fc-13ea4ebf4837.html)
21.当出现
时,说明是在调用结构体的元素时,注意是用“->”还是“.” 22. 当出现
时,是因为字符集的原因,只要在项目--?属性--?配置属性--?常规--?(项目默认值的)字符集,改为“未设置”。(无法转换的这一类问题都解决了)
共分享92篇相关文档