0

func を持つ変更された videoInput ライブラリを使用する必要があります deviceSetupWithSubtype() (元の videoInput ライブラリではありません)。

このページの最後に と があり .hます: http://opencv.willowgarage.com/wiki/CameraCapture.cpprar

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' 
4

1 に答える 1

1

多くのライブラリで試したリンク エラーを何度も検索した後、最終的に解決策を見つけました。これらの行を 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 が正しくコンパイルされるようになりました。

于 2013-02-11T09:49:49.837 に答える