我说错误
undefined reference to 'virtual thunk to myClass::myFunction'
对于我正在尝试创建的库。
这是我的代码:
myClass.cpp :
#include "myClass.h"
void myClass::myFunction() {}
myClass::~myClass() {}
myClass.h :
{inclusion guards}
#include "myClass_global.h"
class MY_CLASSSHARED_EXPORT myClass {
public:
myClass();
virtual void myFunction();
virtual ~myClass();
};
myClass_global.h
{inclusion guards}
#include <QtCore/qglobal.h>
# if degined(MY_CLASS_LIBRARY)
# define MY_CLASSSHARED_EXPORT Q_DECL_EXPORT
# else
# define MY_CLASS Q_DECL_IMPORT
# endif
我并不习惯制作图书馆。我在QtCreator下。
我发现“虚拟thunk”可能是某个无法找到的东西(析构函数?)的“函数指针”......
但是,我在互联网上找不到任何明确的内容......
答案 0 :(得分:1)
问题是GCC之间的配置版本不匹配。
我使用的库是使用GCC 5.4编译的,但是我使用的是GCC 7.4。
当我使用与库相同的GCC来编译代码时,这个奇怪的链接问题就消失了!
答案 1 :(得分:0)
我注意到构造函数尚未实现。这会导致这个问题吗?
答案 2 :(得分:0)
也许它会在未来对某人有所帮助..对我来说,问题是由类中的虚函数声明引起的,该虚函数派生自基础抽象类(在 .hpp 文件中),但在.cpp 文件。