使用QtService介面的時候出現undefined reference to `::staticMetaObject'
在Qt開發中,當我們在專案引用一些其它的標頭檔案的時候,比如QtService的介面,因為對於這類介面,我們沒有庫檔案,但是編譯的時候可能會出現undefined reference to `::staticMetaObject'的錯誤,那可能就是因為沒有把介面檔案include到專案裡了。
那是因為什麼呢?因為如果沒有在專案中include標頭檔案,那qmake就不會去建立對應的元物件相關的函數了,在連結的時候自然就找不到了。
其實很簡單,有時會忘記,花了冤枉時間,因為對於那些庫標頭檔案,我們只要在專案的pro檔案裡指定INCLUDEPATH就可以了,但是對於包含Q_OBJECT的QtService這樣沒有庫檔案的就必須把標頭檔案也包含到專案裡。在這裡記錄一下。
相關推薦
使用QtService介面的時候出現undefined reference to `::staticMetaObject'
在Qt開發中,當我們在專案引用一些其它的標頭檔案的時候,比如QtService的介面,因為對於這類介面,我們沒有庫檔案,但是編譯的時候可能會出現undefined reference to `::staticMetaObject'的錯誤,那可能就是因為沒有把介面檔案incl
gcc 在連結相關so或者a檔案時出現 undefined reference to "xxx"
gcc 在連結相關so或者a檔案時出現 undefined reference to "xxx", 首先確認是否有這個xxx介面的真身,然後查明其所在的庫檔案,之後在當前makefile裡新增就行。 可是今天遇到一種特殊情況,在如下的libs後面直接新增libapps_vram.a檔案時
Qt 出現“undefined reference to `vtable for”
在QT中定義了一個執行緒類,繼承自QThread, 在類中未加 Q_OBJECT 時編譯正常,加入後報錯如下: undefined reference to `vtable for myThread' 在串列埠下,手動make,無錯誤。 百度後得知: 一:預編譯器開啟巨集Q_OBJECT,宣告若干個由
關於Cmake 連結靜態庫出現undefined reference to錯誤
在編寫一個C++專案的時候,使用cmake管理工程,成功連結一個靜態庫,但是在編譯時仍然出現undefined reference to 的錯誤。 最終發現問題是由於c和c++混編導致的。 解決方案: 由於我連結的庫是使用c語言編寫,所以需要在include標頭檔案時加上 #
Qt 出現“undefined reference to `vtable for”原因總結
由於Qt本身實現的機制所限,我們在使用Qt製作某些軟體程式的時候,會遇到各種各樣這樣那樣的問題,而且很多是很難,或者根本找不到原因的,即使解決了問題,如果有人問你為什麼,你只能回答--不知道。 今天我在這裡列舉的問題也是再編寫Qt程式時,
Linux Ubuntu執行執行緒程式出現undefined reference to ‘pthread_create’和undefined reference to ‘pthread_join’錯誤。
Linux Ubuntu執行執行緒程式出現undefined reference to ‘pthread_create’和undefined reference to ‘pthread_join’錯誤。 編寫好執行緒程式碼,進行編譯 gcc xiancheng.c -o xiancheng 出
PHP 編譯安裝時出現 undefined reference to `libiconv' 錯誤的解決方法
原文:http://flyfishes.blog.51cto.com/3527694/819693 手動編譯PHP安裝時遇到如下錯誤 /usr/local/src/php-5.3.10/ext/xmlrpc/libxmlrpc/encodings.c:73: und
linux 連結庫檔案出現“undefined reference to" 問題的解決方法
最近在Linux下程式設計發現一個詭異的現象,就是在連結一個靜態庫的時候總是報錯,類似下面這樣的錯誤: (.text+0x13): undefined reference to `func' 關於undefined reference這樣的問題,大家其實經常會遇
Linux下基於opencv程式編譯時,出現undefined reference to `cv::SIFT::SIFT(int, int, double, double, double)
出現undefined reference to `cv::SIFT::SIFT(int, int,double, double, double)問題,和找不到類似的特徵描述子,還有和nonfree相關的函式,都是少裝了一個庫, 安裝如下: sudo add-apt-re
linux下編譯自己的靜態庫時依賴其他的動態庫,使用時出現“undefined reference to”
對於我這個剛入IT行業不就得新手來說,在linux下連結庫的時候總是會遇到各種各樣奇葩的問題,最多的就是“undefined reference to”和“cannot find”這兩類,層出不窮,總是在我即將完成工作的時候給我當頭一棒,讓我欲罷不能。這不,這
ubuntu下 GCC編譯程式出現 undefined reference to `std::ios_base::Init::Init()'問題——gcc編譯C++程式碼
hello.o: In function `main':hello.cpp:(.text+0x41): undefined reference to `std::cin'hello.cpp:(.text+0xd1): undefined reference to `std::cout'hello.o: In
解決使用NDK進行編譯時出現undefined reference to function的問題
之前在編譯jni時出現了undefined reference to function這個問題,查閱相關資料說是可能連結的庫問題,然後通過各種gcc調整順序解決了這個問題。這個工程是導師的工程,工程在Linux環境下執行無誤,我從Linux環境往Android
c/c++中出現“undefined reference to”的解決
undefined reference to”的意思是,該函式未定義。 如果使用的是gcc,有以下檢查方案: 如果提示未定義的函式是某個庫的函式。檢查庫時候已經安裝,並在編譯命令中採用-l和-L引數匯入庫。 如果提示未定義的函式是程式中的函式。檢查是否在標頭檔案中宣告
Qt 出現“undefined reference to `vtable for”原因總結;
由於Qt本身實現的機制所限,我們在使用Qt製作某些軟體程式的時候,會遇到各種各樣這樣那樣的問題,而且很多是很難,或者根本找不到原因的,即使解決了問題,如果有人問你為什麼,你只能回答--不知道;今天我在這裡列舉的問題也是再編寫Qt程式時,總是遇到的問題,問題普遍,而答案卻不唯一
linux安裝QtCreator出現undefined reference to 'drmCloseOnce'
在Jetson tx1 上安裝了ubuntu16.04系統,然後安裝QtCreator時出現undefined reference to `drmCloseOnce`,/usr/lib/aarch64
使用NDK編譯的時候出現 undefined reference to
引用 eight body 含義 的區別 flow cell ndk-build vat 最近一段時間在使用NDK進行編譯的時候一直出現undefined reference to的問題 代碼寫的沒有問題, 在visual studio中也能找到定義, 可是在NDK中就
linux下開發,解決cocos2d-x中編譯出現的一個小問題, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
water span x86 code bject data- ace 技術分享 inux 解決cocos2d-x中編譯出現的一個小問題 對於cocos2d-x 2.×中編譯中,若頭文件裏引入了#include "cocos-ext.h",在進行C++編譯的時候會遇到例
ubuntu16.04下編譯caffe出現.build_release/lib/libcaffe.so: undefined reference to google ::protobuf…的問題
人工智慧/機器學習/深度學習交流QQ群:811460433 程式設計師深度學習微信公眾號: ubuntu16.04下編譯caffe出現.build_release/lib/libcaffe.so: undefined reference to google ::protobuf…的
QT學習筆記:關於QT下配置OpenCV3.4.0後出現 error: undefined reference to 'cv::xxx'的問題及解決方案
按照網上的辦法,在QT中pro檔案末尾新增以下程式碼來引入OpenCV的庫和標頭檔案: INCLUDEPATH += D:\OpenCV3.4\opencv\build_mingw\install\x64\mingw\include LIBS += D:\Ope
Linux程式設計時使用gcc編譯.c出現以下問題,pthread.c:(.text+0x29): undefined reference to `pthread_create'collect2: err
Linux程式設計時使用gcc編譯.c出現以下問題 client.c:(.text+0x13e): undefined reference to `pthread_create' collect2: ld 返回 1 解決方法如下: 只需在用gcc編譯時加上-pthread選項即