Qt下使用OpenCV2.3.1靜態編譯報錯,解決過程記錄

因使用到cv:threshold需要包含#include "imgproc\imgproc.hpp"

編譯時報錯:


解決辦法:
     1嘗試使用with_Qt
報錯:

但不影響,忽略錯誤,繼續編譯。
配置後報同樣錯誤(驗證與with_Qt無關,後面過程不再勾選此項)

2嘗試動態編譯(動態編譯debug版本)
QT條件編譯(debug 和release使用不同dll)
CONFIG(debug, debug|release) {
LIBS += -L../lib1 -lhellod
} else {
LIBS += -L../lib2 -lhello
}
普通編譯的debug運行正常(驗證與程序無關)


3嘗試修正opencv_ffmpeg.dll再靜態編譯
編譯後同樣報錯


4測試其它鏈接靜態庫,imgproc鏈接到動態庫
     程序編譯運行正常(驗證只與imgproc的靜態編譯有關)

5測試使用OpenCV2.4.10靜態編譯
編譯安裝運行,不再報錯


----問題解決,後面使用OpenCV2.4.10



20170420晚添加:

OpenCV2.4.10也會報錯,報highgui錯。

OpenCV2.3.1報imgproc

突發靈感,使用正常的鏈接庫文件替換異常的。

測試兩個替換後都可以正常使用

先用,看有其它異常再來記錄。好像OpenCV的靜態編譯不太穩定。


20170421更新:

昨天晚上使用可以就簡單的認爲Ok了,實際上還是有問題的。

2.4.10版本的imgproc同樣報錯

嘗試使用2.4.13版本及2.4.9版本。同樣存在問題。

嘗試更換高版本Qt(Qt5.8.0)同樣存在問題。


由於項目時間有限,暫放棄靜態編譯。使用動態編譯的OpenCV

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章