造成这个错误的原因有很多种,网上有人总结出来,但是我遇到的这种很奇怪,而且网上没找到和我一样的。
我自己定义了一个类,类中包含一个私有成员,成员类型为QSerialPort,如下图:
这样一写就报错:LNK2019:无法解析的外部符号,但是如果我把serial_port改成指针则不会报错。结果是因为如果要使用串口,则需要在.pro文件加入:“QT += serialport”这一句,如下图:
在.pro文件中加入这句就不会报错了。
还有一个问题,如果定义的串口类是QSerialPort是个指针,那么在程序运行时会出现内存错误,暂时不知道什么原因,先写在这里,以后有机会再看看。