记录一下Qt5.15.2学习过程中遇到的坑
1. 使用QTcpServer进行客户端和服务器间的通信时服务器无法收到消息
经过排查,发现客户端是能正常发送消息的 waitForBytesWritten()
和write()
函数均功能正常。那么问题出在服务器,服务器这边最重要的是类QTcpServer
的incomingConnection()
函数,检查发现是把incomingConnection()
写成了incommingConnection()
,导致无法收到连接。
2. 点击QToolButton对象时程序崩溃
在点击某个按钮时,程序突然崩溃了,没有任何报错信息,但是可以肯定就是这个按钮的原因,由此可以推测是按钮没有初始化,在ui对象的构造对该按钮进行初始化后问题解决。
3.undefined reference to ‘vtable for xxx’
添加了一个新功能后,突然编译不通过了,查询猜测是某个虚函数没有实现。再次检查函数实现,确认不存在虚函数(包括继承了QObject的类的析构函数)未实现后,清除
并重新构建
,随后编译通过,问题解决。
4. undefined reference to `xxx’
编译时遇到了一个问题,经过排查后发现是在头文件中声明了函数,但是没有在cpp文件中进行实现,而Qt编辑器中没有报错,原因是其自动识别为了其他项目中的函数,误认为有定义。