故事的背景......
我用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,添加方式有兩種:
1、在.pro文件中添加
LIBS += -L$$PWD/lib/ -lQComConn
2、另一種方式是選擇項目,郵件,添加庫。
最後編譯,運行通過。很小的變化。