我需要使用修改后的videoInput库,该库具有deviceSetupWithSubtype()
(这不是最初的视频输入库)
我在本页末尾的rar
中得到了.h
和.cpp
:http://opencv.willowgarage.com/wiki/CameraCapture
我试着用VC2010 Express C++编译它,我得到了我的.lib,但当我把它放在我想使用修改后的videoInput.h的程序中时,我收到了很多LNK错误,比如:
videoInput.lib(videoInput.obj) :error LNK2001: unresolved external symbol __imp__CoTaskMemFree@4
videoInput.lib(videoInput.obj) :error LNK2001: unresolved external symbol _MEDIASUBTYPE_RGB24
videoInput.lib(videoInput.obj) :error LNK2001: unresolved external symbol _MEDIASUBTYPE_AYUV
videoInput.lib(videoInput.obj) :error LNK2001: unresolved external symbol _MEDIASUBTYPE_Y211
(我也试过普通的videoInput.lib,效果很好,但它不是我需要的版本)。
我该如何解决?或者,如果你只有这个修改过的videoInput.lib,你能上传吗?非常感谢。
编辑:
在发布模式中,我也得到了这个错误:
videoInput.lib(videoInput.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2'
经过对链接错误的大量搜索,我尝试了许多库,最后我找到了解决方案:你必须在videoInput.h中添加这些行(最终调整链接器中的路径,我不需要它):
// if gives error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2'
// insert _ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH in the C++ preprocessor option in the project properties
// these are the library needed:
#pragma comment (lib, "oleaut32")
#pragma comment (lib, "ole32")
#pragma comment (lib, "user32")
#pragma comment (lib, "strmbase")
现在,生成的videoInput.lib编译正确。