opencv配置中常見問題

2021-10-08 10:04:40 字數 1565 閱讀 4179

問題型別取自《opencv3程式設計入門》

【問題1】找不到core.h

出現這個問題也許是因為include的時候粗心大意了。比如你的版本是2.4.6,在這個版本下,opencv根資料夾下面會有個include,但配置的時候如果包含的是它就錯了,正確的應該填build資料夾中的那個include。

【問題2】無法解析的外部命令

這個問題其實上文已經有過解釋:不管是32位還是64位作業系統,只需要考慮用win32編譯器還是x64 編譯器。

其實配置選擇什麼跟64位還是32位系統沒有直接的關係,而是在於你在編譯程式時使用的是哪個編譯器:編譯器是win32,就用x86;編譯器是x64,就用x64。不過一般情況下,都是用的win32的x86編譯器。所以,無論32還是 64位作業系統,配置檔案最好都選擇x86版的。

【問題3】形如-error lnk2005:***已經在msvcrtd.lib(msvcr90d.dll)中定義

出現這個問題,把靜態庫不包含就行了。

【問題4】應用程式無法正常啟動0xc000007b

這個是lib包含的問題。可能你同時包含了x86和x64的,可能包含出錯了。而且對於windows7/8 64位,dll要放在和system32資料夾同級的syswow64資料夾中。

【問題5】明明路徑是對的,卻載入不進,提示指標越界,有未經處理的異常

類似錯誤如圖1.22,這表示在記憶體中沒有讀取成功,導致指標越界異常。這時要再次檢查以確保的字尾名和路徑與**中的一致。一般情況下出現此問題算是opencv的乙個bug,是工程屬性裡面關於帶d和不帶d的lib檔案的附加依賴項的問題。

就算配置成功,若想在debug和release模式下同時可以執行,還需手動在工程屬性裡面加上一些lib。當得到這樣的錯誤時,可以把除錯方式改一改,將debug和release互換,如圖1.27所示。

或者開啟當前工程的屬性頁(注意不是通用屬性頁),debug或者release哪個報錯,就把對應的帶d或不帶d的lib新增到【(當前)工程屬性】→【鏈結器】→【輸入】→【附加的依賴項】下即可。

【問題6】無法開啟檔案「opencv_ml249d.lib」系列的錯誤

fatal error lnk1104:無法開啟檔案「opencv_ml249d.lib」是乙個常見的錯誤。這個錯誤主要是因為包含的庫目錄中,和包含的附加依賴項不能相互對應照成的。也許是「opencv_ml249d.lib「多加了乙個空格,成了」opencv_ml249d.lib「,就會報錯。遇到這個問題,檢查以下三個方面。

(1). 檢查第四步」4.工程庫(lib)目錄的配置「庫目錄中的路徑是否準確。

(2). 檢查第五步」5.鏈結庫的配置「中「附加依賴項」的格式有沒有問題,有沒有多空格,版本號248、249是否正確,有沒有多乙個空格或少乙個點。

(3). 第二步環境變數的配置是否準確。

另外的解決方案是:依次進入【專案】→【屬性管理器】→【debug|win32->microsoft.cpp.win32.userdirectories】中的【屬性頁面】→【鏈結器】→【常規】,在裡面的【附加庫目錄】中加入相應的lib檔案目錄。

開發中常見問題

6.開發中常見問題 uiscrollview的自動布局 1.怎麼確定scrollview的約束 通過新增view設定他的約束來控制uiscorllview的滾動範圍 size和center 1.以後盡量先設尺寸在設定center,從frame中取時,他會先確定中心點後沿4周擴散形成設定的尺寸 如果到...

開發中常見問題

本文目錄 這篇文章是專門用來記錄開發中一些常見的bug以及常用的零碎知識點,我會隔一段時間更新內容 回到頂部 1.重複呼叫2次loadview和viewdidload 最好不要在uiviewcontroller的loadview方法中改變狀態列的可視性 比如狀態列由顯示變為隱藏 或者由隱藏變為顯示 ...

hadoop 配置中常見問題記錄

問題1 jobtracker.info could only be replicated to 0 nodes,instead of 1 錯誤解決 通過搜尋,大部分說是防火牆問題,於是我就關閉了防火牆,把系統的防火牆都關掉了,刪除格式化時生成的檔案,及執行是的tmp檔案,然後重新格式化,再次執行st...