报错该问题有两种情况,要么是报错语句中对应的函数在头文件中没有声明,要么就是引入了函数对应的头文件,但没有引入对应的cpp文件,也就是说函数没有实现,编译器在编译时就不知道这个函数的具体定义在哪里/怎么实现的。
类似的问题,如果只是在头文件中定义了一个函数,但是没有在对应cpp文件中实现,还可能会报错:error: LNK2001: 无法解析的外部符号 "protected: virtual void __cdecl CameraThread::run(void)" (?run@CameraThread@@MEAAXXZ)。在cpp中实现该函数后,报错消失。