如何编译修改后的videoInput.h



我需要使用修改后的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编译正确。

相关内容

  • 没有找到相关文章

最新更新