天天看點

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      

繼續閱讀