You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio 3.0.1集成CMake/ndk-build及OpenCV2.4.9编译报错求助

问题2:集成OpenCV 2.4.9后构建报错的解决办法

这个报错我之前也碰到过,原因很明确:Gradle插件3.0+已经彻底废弃了旧的compileDebugNdk任务,必须用CMake或者ndk-build作为原生构建系统,而你的项目现在还在尝试用旧方式编译C++代码。按下面步骤处理:

  1. 先完成问题1的配置:你已经集成了OpenCV 2.4.9,这个版本的OpenCV Android包自带jni目录(带Android.mk)或者支持CMake配置,先按照上面的步骤把externalNativeBuild配置好。
  2. 移除旧的NDK配置:检查你的build.gradle里有没有旧的ndk { ... }代码块,Gradle 3.0+完全不支持这种写法,直接删掉。
  3. 正确链接OpenCV库:
    • 用ndk-build的话,在你的Android.mk开头加上include $(OPENCV_ANDROID_SDK)/sdk/native/jni/OpenCV.mk(记得把OPENCV_ANDROID_SDK换成你本地的OpenCV SDK路径),然后在LOCAL_LDLIBS里加上需要的OpenCV库。
    • 用CMake的话,要在CMakeLists.txt里添加OpenCV的路径,比如set(OpenCV_DIR /path/to/opencv/sdk/native/jni),然后用find_package(OpenCV REQUIRED),最后用target_link_libraries把你的native库和OpenCV库链接起来。
  4. 指定兼容的NDK版本:OpenCV 2.4.9比较老,建议用NDK r14b或者更早的版本,你可以在local.properties里加上ndk.dir=/path/to/your/ndk-r14b,或者在build.gradle的externalNativeBuild参数里指定。

做完这些再同步Gradle重新构建,原来的报错就应该消失了。


内容的提问来源于stack exchange,提问作者Fahad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:01:10