類似undefined reference to `vtable for `問題解決
問題現象
今天編寫程式碼,編譯的時候遇到了類似“undefined reference to vtable for <classname>
” 的問題 ,網上查了好久都說是基類的解構函式沒有實現,但我的程式碼中基類的解構函式是有實現的,後來又反覆檢視程式碼,發現基類中有個一普通的虛擬函式沒有實現(太大意了),將這個沒有具體實現的虛擬函式實現或將其定義為純虛擬函式,問題得到解決。
解決辦法
按一下幾點排查基類:
- 基類的解構函式應定義為虛擬函式(或純虛擬函式),且基類的解構函式一定要有實現(無論其被定義為虛擬函式還是純虛擬函式)。
- 基類中的非純虛擬函式都需要有實現。
相關推薦
類似undefined reference to `vtable for `問題解決
問題現象 今天編寫程式碼,編譯的時候遇到了類似“undefined reference to vtable for <classname>” 的問題 ,網上查了好久都說是基類的解構函式沒有
undefined reference to `vtable for YAML::BadConversion' 報錯的解決方法
Bug 在編譯用到yaml程式的時候,遇到如下報錯: /home/liuhang/Documents/Momenta/catkin_ws/devel/lib/libloam.so: undefined reference to `vtable for Y
Qt undefined reference to `vtable for’”問題的原因及解決方法
引用https://blog.csdn.net/morixinguan/article/details/81327075 QT中,類要支援訊號與槽機制,需要繼承自QObject並在標頭檔案開頭新增Q_OBJECT巨集. 如果使用QtCreator建立類時,沒有選擇繼承自QObject
undefined reference to `vtable for’”問題的原因及解決方法
QT中,類要支援訊號與槽機制,需要繼承自QObject並在標頭檔案開頭新增Q_OBJECT巨集. 如果使用QtCreator建立類時,沒有選擇繼承自QObject類或其子類,而在建立後手工修改繼承自QObject並手工新增Q_OBJECT巨集,則在編譯時有可能會出現”und
Qt 出現“undefined reference to `vtable for”
在QT中定義了一個執行緒類,繼承自QThread, 在類中未加 Q_OBJECT 時編譯正常,加入後報錯如下: undefined reference to `vtable for myThread' 在串列埠下,手動make,無錯誤。 百度後得知: 一:預編譯器開啟巨集Q_OBJECT,宣告若干個由
Qt工作筆記-undefined reference to `vtable for MyObject'及對moc檔案的進一步理解
原始碼如下: main.cpp #include <QApplication> #include <QObject> #include <QTextCodec> class MyObject:public QObject{ Q
Qt 出現“undefined reference to `vtable for”原因總結
由於Qt本身實現的機制所限,我們在使用Qt製作某些軟體程式的時候,會遇到各種各樣這樣那樣的問題,而且很多是很難,或者根本找不到原因的,即使解決了問題,如果有人問你為什麼,你只能回答--不知道。 今天我在這裡列舉的問題也是再編寫Qt程式時,
codeblocks:編譯問題 undefined reference to vtable for...
一個嚴重的問題,在codeblocks用C++程式設計中出現 undefined reference to vtable for…的問題,昨天就遇到了,今天通過查資料才解決,主要涉及到類中的虛擬函式實現的問題。 相信大家都有習慣,程式設計時,寫幾個函式就編譯一下,否則全寫好再編譯的話會,會
Qt中出現qt : undefined reference to `vtable forXXX解決辦法
我們在Qt中要使用訊號和槽的時候必須要新增Q_OBJECT巨集,否則會報錯。但是有時候我們添加了Q_OBJECT的時候,我們會發現同樣會報錯,報錯如下所示: undefined reference to 'vtable for ***(類) 面對這個報錯
Qt 出現“undefined reference to `vtable for”原因總結;
由於Qt本身實現的機制所限,我們在使用Qt製作某些軟體程式的時候,會遇到各種各樣這樣那樣的問題,而且很多是很難,或者根本找不到原因的,即使解決了問題,如果有人問你為什麼,你只能回答--不知道;今天我在這裡列舉的問題也是再編寫Qt程式時,總是遇到的問題,問題普遍,而答案卻不唯一
moc_XXXX.o:(.data.rel.ro._ZTI12CalculatorUI[_ZTI12CalculatorUI]+0x10): undefined reference to `typeinfo for QWidget' collect2: error: ld returned
main.cpp:(.text.startup+0x22): undefined reference to `QApplication::QApplication(int&, char**, int)'moc_CalculatorUI.o:(.data.rel.ro._ZTV12CalculatorU
Linux編譯程式報錯 undefined reference to error 的解決方法
對於我這個剛入IT行業不就得新手來說,在linux下連結庫的時候總是會遇到各種各樣奇葩的問題,最多的就是“undefined reference to”和“cannot find”這兩類,層出不窮,總是在我即將完成工作的時候給我當頭一棒,讓我欲罷不能。這不,這幾天編譯linux下一個專案時又遇到難題
Qt 編譯出錯:undefined reference to vtable XXX
在Qt編譯的過程中,程序會出現 error: undefined reference to `vtable for 類名'的問題,對於不經常使用QT的人來說甚是頭疼,其實這類問題發生的主要原因在於,一般我們定義了一個類以後,如果他是繼承了其他類的話 就比如說我們
gcc "undefined reference to" 問題解決方法(使用庫)
最近在Linux下程式設計發現一個詭異的現象,就是在連結一個靜態庫的時候總是報錯,類似下面這樣的錯誤: (.text+0x13): undefined reference to `func'
undefined reference to `av_register_all' 問題解決
之前一直在eclipse上使用ndk前一陣轉到Android studio上 使用ndk 被這個undefined reference to `av_register_all' 問題困擾了很久,一度認為是路徑沒有配置好後來發現解決方法#include <libavco
關於undefined reference to `inflate'問題解決方法
今天編譯一個程式出現上面的錯誤,在編譯環境中已經加入了連結對應的壓縮庫,後來發現只有在主程式中呼叫一次同壓縮相關的函式即可,但是我實際上在主檔案中並不需要,解決方法為寫一個不被呼叫的函式,裡面內容為: void do_nothing() { ZipArchive zip; m
undefined reference to `__gnu_mcount_nc'的解決 在編譯核心時出現瞭如下錯誤:
在編譯核心時出現瞭如下錯誤: init/built-in.o: In function `do_one_initcall': calibrate.c:(.text+0x14): undefined reference to `__gnu_mcount_nc' init/built-in.o: In
出現錯誤/ncnn/src/cpu.cpp:426: undefined reference to `stderr'完美解決方案。
前提情況 1。 android studio 編譯器 2。 利用ncnn前向推理框架進行移植caffemodel到android手機端 3。 使用cmake進行編譯,NDK java的c++介面 出現問題 /ncnn/src/cpu.cpp:426: undef
undefined reference to 錯誤的解決方法總結
在編寫C++時,會遇到一類錯誤的錯。 總結起來為幾類 一、是 Linux環境錯誤 具體沒有深入研究,可以參考http://blog.csdn.net/cserchen/article/details/5503556。 二、使用codeblock這類需要自己配置路徑,要把所
linux 連結庫檔案出現“undefined reference to" 問題的解決方法
最近在Linux下程式設計發現一個詭異的現象,就是在連結一個靜態庫的時候總是報錯,類似下面這樣的錯誤: (.text+0x13): undefined reference to `func' 關於undefined reference這樣的問題,大家其實經常會遇