Qt编译动态库调用错误:undefined reference

时间:2022-05-27 17:36:10

今天使用Qt写了个动态库,在其他项目文件调用此动态库时,总是报下面错误:

Qt编译动态库调用错误:undefined referenceundefined reference ,提示动态库中的接口函数未定义

经过和同事研究,终于发现了问题所在:

1.使用Qt编写动态库时,系统自动生成的.h文件里面有个类,如下面所示

class QHKDLLSHARED_EXPORT QHKDLL
{  
public:
    QHKDLL();
 
};
里面包含
QHKDLLSHARED_EXPORT 
这个关键字,话说最终我也没搞明白这句话是啥意思,
反正问题就出在这个关键字上面,将这个关键字删掉,如下所示
class  QHKDLL
{
public:
    QHKDLL();
};
重新编译动态库,然后在其他项目中按原来方法调用,一切OK!
 
PS:今天这个问题搞了两个多小时,感谢同事,在此记录一下。