学习Qt的时候,在编译时出现了这种字样的错误,于是上csdn查询有无解决方案。但是没有找到……其他博主说的基本是以下三点:
1在.pro文件下查看SOURCES +=和HEADERS +=有没有重复引入文件
2把debug文件夹下的.o文件都删除,然后再编译
3如果.h文件中有类的定义和实现,则实现时在每个成员前加inline
前两种方案都试过了,并不能解决问题。正当我考虑第三种方案时,忽然想到报错的是个信号函数,但是我在.cpp文件中写了信号函数的定义,于是将定义删掉,只在头文件中保留声明,问题解决了。
因此,我提出了第四种可能原因:Qt信号函数是不写定义的,如果写了定义,则会导致重复定义错误。当然,这种原因大概也就在我这样接触Qt不到一周的人会出现吧。
Qt版本:5.15.2