win10下cmake编译opencv库问题
CMake Error at platforms/android/android.toolchain.cmake:451 (message):
Could not find neither Android NDK nor Android standalone toolchain.
根据提示配置ANDROID_NDK到环境变量PATH中,即可
例如:ANDROID_NDK = D:\android-ndk-r14b
发现这个问题时,先是使用Android Studio中链接下载的最新ndk目录(版本是17)。会报错
之后,从https://developer.android.google.cn/ndk/downloads/ 中下载最新的16b,还是报错。
最后 查看源码文件夹下opencv-3.2.0\platforms\android\android.toolchain.cmake文件里有两行注释
Android CMake toolchain file, for use with the Android NDK r5-r10d
Requires cmake 2.6.3 or newer (2.8.9 or newer is recommended).
提示使用r5到r10版本的NDK(我去网上下只剩r10e的,下载来编译后就可以通过了。)
CMake Error at D:/opencv/opencv-3.2.0/cmake/OpenCVUtils.cmake:1043 (file):
file DOWNLOAD HASH mismatch
for file: [D:/opencv/opencv_contrib-3.2.0/modules/dnn/.download/bd5e3eed635a8d32e2b99658633815ef/v3.1.0/protobuf-cpp-3.1.0.tar.gz]
expected hash: [bd5e3eed635a8d32e2b99658633815ef]
actual hash: [d41d8cd98f00b204e9800998ecf8427e]
status: [28;"Timeout was reached"]
Call Stack (most recent call first):
D:/opencv/opencv_contrib-3.2.0/modules/dnn/cmake/download_protobuf.cmake:23 (ocv_download)
D:/opencv/opencv_contrib-3.2.0/modules/dnn/cmake/download_protobuf.cmake:51 (ocv_protobuf_download)
D:/opencv/opencv_contrib-3.2.0/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake:30 (include)
D:/opencv/opencv_contrib-3.2.0/modules/dnn/CMakeLists.txt:35 (include)
根据提示D:/opencv/opencv_contrib-3.2.0/modules/dnn/cmake/download_protobuf.cmake:23
找到该行信息
可以看出,他需要libprotobuf这个库,并且需要下载到 ${CMAKE_CURRENT_BINARY_DIR}/3rdparty/protobuf/sources 目录下,而下载地址就是 https://github.com/google/protobuf/releases ,于是我们只要手动下载3.1.0,然后把文件放到这个目录下即可。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。