C++ 继承类问题未定义引用
有两个类,一个是相机继承扫描仪。 我想在父类中编写一些虚拟函数, 并在子类中实现。 但我遇到了一些问题 扫描仪.hC++ 继承类问题未定义引用,c++,inheritance,virtual-functions,C++,Inheritance,Virtual Functions,有两个类,一个是相机继承扫描仪。 我想在父类中编写一些虚拟函数, 并在子类中实现。 但我遇到了一些问题 扫描仪.h class Scanner : public QObject { public: explicit Scanner(QObject *parent = nullptr); ~Scanner(); virtual bool Connect() =0; }; scanner.cpp #include "scanner.h" Scanner
class Scanner : public QObject
{
public:
explicit Scanner(QObject *parent = nullptr);
~Scanner();
virtual bool Connect() =0;
};
scanner.cpp
#include "scanner.h"
Scanner::Scanner(QObject *parent) : QObject(parent)
{
}
Scanner::~Scanner()
{
}
照相机
#include "scanner.h"
class Camera : public Scanner
{
public:
explicit Camera();
~Camera();
bool Connect();
};
camera.cpp
#include "camera.h"
Camera::Camera()
{
}
Camera::~Camera()
{
}
bool Camera::Connect()
{
return true;
}
构建之后,我收到了这些错误消息
CMakeFiles/scanner_test.dir/src/camera.cpp.o: In function `Camera::Camera()':
camera.cpp:(.text+0x19): undefined reference to `Scanner::Scanner(QObject*)'
CMakeFiles/scanner_test.dir/src/camera.cpp.o: In function `Camera::~Camera()':
camera.cpp:(.text+0x58): undefined reference to `Scanner::~Scanner()'
CMakeFiles/scanner_test.dir/src/camera.cpp.o:(.data.rel.ro._ZTI12Camera[_ZTI12Camera]+0x10): undefined reference to `typeinfo for Scanner'
collect2: error: ld returned 1 exit status
make[2]: *** [scanner_test] Error 1
make[1]: *** [CMakeFiles/scanner_test.dir/all] Error 2
make: *** [all] Error 2
我试图修好它,但没用。
有人知道问题出在哪里吗?这看起来不像是源代码问题。您是否可以发布命令行或生成命令行的cmake行,从而导致此ld(链接器)错误?