error LNK2019:无法解析的外部符号 public: void(找前面的函数)

1>paper1.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall Annotate::copy_clean_image(void)" (?copy_clean_image@Annotate@@QAEXXZ),该符号在函数 "void __cdecl mv_MouseCallback(int,int,int,int,void *)" (?mv_MouseCallback@@YAXHHHHPAX@Z) 中被引用

遇到这样的错误很多人就崩溃了,其实没那么可怕,改起来很简单的error LNK2019:无法解析的外部符号 public: void __ - 那年聪聪 - 那年聪聪
例如上面的这句错误,看它的主要部分:Annotate::copy_clean_image(void)在函数 "void __cdecl mv_MouseCallback(int,int,int,int,void *)中被引用
错误分析:这说明你在使用mv_MouseCallback(int,int,int,int,void *)函数时是要调用Annotate::copy_clean_image(void)的。
解决方案:现在只需查找到Annotate::copy_clean_image(void)的声明部分看看它有没有被定义,或者是重复使用即可!!!很多时候是因为没有定义,此时就需要将类声明(.h)文件对应的定义(.cpp)文件加入即可。
最新发现:一般情况下,是缺失.lib文件,加上相应的库文件即可!!!

特别注意:1、找到“前者”;2、添加文件。

你可能感兴趣的:(OpenCV常见错误)