win10下cmake編譯opencv庫問題android
CMake Error at platforms/android/android.toolchain.cmake:451 (message):
Could not find neither Android NDK nor Android standalone toolchain.git
根據提示配置ANDROID_NDK到環境變量PATH中,便可
例如:ANDROID_NDK = D:\android-ndk-r14bgithub
發現這個問題時,先是使用Android Studio中連接下載的最新ndk目錄(版本是17)。會報錯
以後,從https://developer.android.google.cn/ndk/downloads/ 中下載最新的16b,仍是報錯。ide
最後 查看源碼文件夾下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).ui
提示使用r5到r10版本的NDK(我去網上下只剩r10e的,下載來編譯後就能夠經過了。)google
CMake Error at D:/opencv/opencv-3.2.0/cmake/OpenCVUtils.cmake:1043 (file):
file DOWNLOAD HASH mismatchcode
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)orm
根據提示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,而後把文件放到這個目錄下便可。