您好,現(xiàn)在蔡蔡來為大家解答以上的問題。未定義的引用相信很多小伙伴還不知道,現(xiàn)在讓我們一起來看看吧!
1、這是個(gè)編程鏈接錯(cuò)誤,意思是說在你的程序里引用了某個(gè)函數(shù)或變量, 但是鏈接器找不到該變量的定義.(1)如果報(bào)的符號(hào)是在某個(gè)第三方庫里的, 比如uuid的什么什么函數(shù), 則要檢查你的libqte是不是編譯得正確. 本來這些庫應(yīng)該正確鏈接到***.so上, 這樣在qtopia鏈接的時(shí)候就不需要顯式的加上這些庫了.?有的時(shí)候libqte沒有正確鏈接好, 但是在編譯libqte階段不會(huì)報(bào)錯(cuò), 到后面qtopia或者其他應(yīng)用編譯的時(shí)候就出錯(cuò)了.(2)把報(bào)錯(cuò)的庫刪除, 重新編譯庫. 如果是libqte, 要把你環(huán)境里的出現(xiàn)libqte的地方都檢查檢查, 有可能存在不同的libqte互相影響.擴(kuò)展資料:程序錯(cuò)誤類型程序錯(cuò)誤類型主要有語法錯(cuò)誤、語義錯(cuò)誤和邏輯錯(cuò)誤,其中,語法錯(cuò)誤和邏輯錯(cuò)誤能通過編譯器發(fā)現(xiàn).(1)語法錯(cuò)誤語法錯(cuò)誤是因?yàn)樵闯绦蛑胁徽_的代碼產(chǎn)生的,即在編寫程序時(shí)沒有遵守語法(或詞法)規(guī)則,書寫了錯(cuò)誤的語法代碼,從而導(dǎo)致編譯器無法正確解釋源代碼而產(chǎn)生的錯(cuò)誤,通常是由于錄入的錯(cuò)誤引起的,它在詞法分析或語法分析時(shí)檢測出來。
2、(2)語義錯(cuò)誤語義錯(cuò)誤是指源程序中不符合語義規(guī)則的錯(cuò)誤,即一條語句試圖執(zhí)行一條不可能執(zhí)行的操作而產(chǎn)生的錯(cuò)誤。
3、語義錯(cuò)誤有的在語義分析時(shí)檢測處來,有的在運(yùn)行時(shí)才能檢測出來。
4、如變量聲明錯(cuò)誤、作用域錯(cuò)誤、數(shù)據(jù)存儲(chǔ)區(qū)的溢出等錯(cuò)誤。
5、(3)邏輯錯(cuò)誤邏輯錯(cuò)誤是指程序的運(yùn)行結(jié)果和程序員的設(shè)想有出入時(shí)產(chǎn)生的錯(cuò)誤。
6、這類錯(cuò)誤并不直接導(dǎo)致程序在編譯期間和運(yùn)行期間出現(xiàn)錯(cuò)誤,但是程序未按預(yù)期方式執(zhí)行,產(chǎn)生了不正確的運(yùn)行結(jié)果,較難發(fā)現(xiàn)。
7、這種錯(cuò)誤只能通過分析結(jié)果,將結(jié)果與設(shè)計(jì)方案進(jìn)行對(duì)比來發(fā)現(xiàn)。
8、參考資料:百度百科-錯(cuò)誤處理。
本文就為大家分享到這里,希望小伙伴們會(huì)喜歡。