我想使用CvCaptureFromFile(..)
函数的源代码,因为我不想在我的项目中使用 OpenCV 库函数。所以我按 F10,F11 进入函数内部,然后复制我需要的东西并将它们转换为 C 代码。到现在一切都还好。
但是当我尝试运行时,我在函数内部遇到了链接错误icvIntFFMPEG(void)
错误如下:
错误 1
error LNK2019: unresolved external symbol "__declspec(dllimport) void * __stdcall GetProcAddress(struct HINSTANCE__ *,char const *)" (__imp_?GetProcAddress@@YGPAXPAUHINSTANCE__@@PBD@Z) referenced in function "void __cdecl icvInitFFMPEG(void)" (?icvInitFFMPEG@@YAXXZ)
错误 2error LNK2019: unresolved external symbol "struct HINSTANCE__ * __stdcall LoadLibrary(char const *)" (?LoadLibrary@@YGPAUHINSTANCE__@@PBD@Z) referenced in function "void __cdecl icvInitFFMPEG(void)" (?icvInitFFMPEG@@YAXXZ)
我复制了源代码中的所有内容。知道我哪里出错了吗?我该如何解决这个错误?
更新:如果我将头文件(我正在处理源代码的地方)包装在一个外部“C”中,就像这样 -
extern "C" {
#include "defination.h"
}
然后第一个错误消失了,loadLibrary 的错误变为
error LNK2019: unresolved external symbol __imp__LoadLibrary@4 referenced in function _icvInitFFMPEG