我想編譯一下openCV4.2的源代碼,用cmake生成了工程后,右鍵module-->opencv_world-->重新生成,會報錯。
5>J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\include\ade/util/range_iterator.hpp(34): error C2100: 非法的間接尋址 (編譯源檔案 J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\source\check_cycles.cpp)
5> J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\source\check_cycles.cpp(33): note: 參見對正在編譯的類 模板 實體化“ade::util::Range::IterableRange<ade::util::Range::MapRange<ade::Node::EdgeSetRange,ade::passes::visit::<lambda_d544ea4b0cac61dc4380fb3b2b6bb059>>>::iterator”的參考
5>J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\include\ade/util/assert.hpp(86): error C2059: 語法錯誤:“<L_ATTRIBUTE_SPECIFIER>” (編譯源檔案 J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\source\check_cycles.cpp)
5>J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\include\ade/util/assert.hpp(86): error C2893: 未能使函式模板“void ade::throw_error(ExceptionType &&)”專用化 (編譯源檔案 J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\source\check_cycles.cpp)
5> J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\include\ade/util/assert.hpp(86): note: 用下列模板引數: (編譯源檔案 J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\source\check_cycles.cpp)
5> J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\include\ade/util/assert.hpp(86): note: “ExceptionType=ade::passes::CycleFound” (編譯源檔案 J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\source\check_cycles.cpp)
5>J:\opencv2\3rdparty\ade\ade-0.1.1f\sources\ade\source\check_cycles.cpp(30): fatal error C1075: 左側的 大括號“{” 與檔案結尾不匹配
這個都是源檔案當中的錯誤,不了解怎么修改呀。現成的opencv_world420.dll或者是opencv_world420d.dll全都是x64的,我想弄個x86的版本,這個咋弄的?
或者誰了解下如何修改源檔案當中的錯誤呢?
另外,還發現使用源檔案當中的include會有大量的路徑錯誤,如果在vs下面編譯,會報錯,必須手工修改include..
我看了一些相關的資料,感覺這個庫檔案就是dll+lib的,如果希望采用動態方式加載,或者
#pragma comment(lib,"opencv_world420d.lib")這樣弄的話,哪幾個是必須添加的呢?
uj5u.com熱心網友回復:
win10在vs2015下編譯opencv4.2原始碼轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/21861.html
標籤:圖形處理/算法
下一篇:解決影像去噪問題
