本人在編譯過程中走了很多坑,看了很多博客,找到了一些解決辦法,希望分享給大家。
由於需要是畢設,時間緊迫,所以我最后還是放棄了編譯OpenCV4.2,改用了其他版本,祝大家都能順利成功!
編譯步驟參考:https://github.com/appleshowc/deployOpencv340
BUG1:logtagconfigparser.cpp:301:21: error: no member named ‘to_string’ in namespace ‘std’.
本人在國內很多博客上查到的問題原因是:mingw自身的bug,可以通過增加補丁或者升級到更高的版本(更高的版本已修復這個問題),但在我的實際應用中,這兩個方法均沒有用,然后我打開谷歌,搜索到了這個方法,直接解決。
核心就是替換to_string函數,慶幸的是,只有這一個地方需要替換。
BUG2:缺少boostdesc_bgm.i文件
解決辦法參見:https://www.jianshu.com/p/1c9978145022
BUG3:test_rotation_and_scale_invariance.cpp中找不到#include "xxxx/test_detectors_invariance.impl.hpp" 缺少頭文件錯誤
解決辦法參見:https://www.jianshu.com/p/1c9978145022
BUG4:fatal error: opencv2/reg.hpp: No such file or directory
#include "opencv2/reg.hpp"
解決辦法:找到對應的文件,將這行代碼注釋掉
https://github.com/appleshowc/deployOpencv340
BUG5:這個BUG沒有解決,直接突破了我的心理防線,如果大家有遇到類似的,請多多指點。
In file included from D:\OpenCV\build\armeabi-v7a\modules\java_bindings_generator\gen\cpp/opencv_jni.hpp:28:0,
from D:\OpenCV\opencv-4.2.0\sources\modules\java\generator\src\cpp\opencv_java.cpp:8:
D:\OpenCV\build\armeabi-v7a\modules\java_bindings_generator\gen\cpp\xfeatures2d.inl.hpp:12:35: fatal error: opencv2/xfeatures2d.hpp: No such file or directory
#include "opencv2/xfeatures2d.hpp"
^
compilation terminated.
mingw32-make[2]: *** [modules\java\jni\CMakeFiles\opencv_java.dir\build.make:131: modules/java/jni/CMakeFiles/opencv_java.dir/__/generator/src/cpp/opencv_java.cpp.o] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:8560: modules/java/jni/CMakeFiles/opencv_java.dir/all] Error 2
mingw32-make: *** [Makefile:179: all] Error 2