1. 程式人生 > >使用QtService介面的時候出現undefined reference to `::staticMetaObject'

使用QtService介面的時候出現undefined reference to `::staticMetaObject'

在Qt開發中,當我們在專案引用一些其它的標頭檔案的時候,比如QtService的介面,因為對於這類介面,我們沒有庫檔案,但是編譯的時候可能會出現undefined reference to `::staticMetaObject'的錯誤,那可能就是因為沒有把介面檔案include到專案裡了。

    那是因為什麼呢?因為如果沒有在專案中include標頭檔案,那qmake就不會去建立對應的元物件相關的函數了,在連結的時候自然就找不到了。

其實很簡單,有時會忘記,花了冤枉時間,因為對於那些庫標頭檔案,我們只要在專案的pro檔案裡指定INCLUDEPATH就可以了,但是對於包含Q_OBJECT的QtService這樣沒有庫檔案的就必須把標頭檔案也包含到專案裡。在這裡記錄一下。