天天看点

error: undefined reference to `_imp___ZN11QSerialPortC1EP7QObject' 一场因为动态库引起的惨案

      故事的背景......

      我用qt为公司写了一个调试工具,当时是vs2015+qt5.7这么一个环境配置。后来接手另一个项目做维护开发,那个项目是Qt4.8.6的库。配置过qt4.8.6的库之后,原来的qt5.7就不能用了。原来的工具也就没有在维护。

     可是最近频繁有调试软件的需求,所以我想利用原来调试工具的API,在qt4.8.6的环境下修修改改,把调试工具搞起来。可是写道串口这一步就出问题了:

在走到

m_port = new QSerialPort();      

这一步的时候一直提示错误

 error: undefined reference to `_imp___ZN11QSerialPortC1EP7QObject'

咋回事?百度?答案说是在头文件加上

Qt += SerialPort

可是加上之后还是不行。最后经过朋友指点,发现Qt Creator所认识的库文件是.a和.so,添加方式有两种:

LIBS += -L$$PWD/lib/ -lQComConn      

继续阅读