opencv在linux下编译失败,【失败的经验】在linux下编译opencv for android

本文记录了在Linux环境下手动编译OpenCV3.4.6的过程,包括下载opencv、opencv_contrib、Android NDK r14b、Android SDK以及编译工具ninja,并详细描述了编译步骤和遇到的问题。虽然编译成功,但发现缺少对应的include文件,后续需要解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cd /home/ahfu

#选择opencv 3.4.6版本来编译

wget https://github.com/opencv/opencv/archive/3.4.6.tar.gz

tar -zxvf opencv-3.4.6.tar.gz

wget https://codeload.github.com/opencv/opencv_contrib/tar.gz/3.4.6

tar -zxvf opencv_contrib-3.4.6.tar.gz

#下载ndk

wget https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip

unzip android-ndk-r14b-linux-x86_64.zip

export PATH=$PATH:/home/ahfu/android-ndk-r14b

# 注意,我一开始使用了NDK版本 android-ndk-r19c-linux-x86_64.zip,结果一堆问题

#下载ANDROID SDK

wget https://dl.google.com/android/repository/tools_r25.2.5-linux.zip

unzip tools_r25.2.5-linux.zip

export PATH=$PATH:/home/ahfu/

# 注意,一开始我下载了android sdk版本 android-sdk_r24.4.1-linux.tgz,有问题

#下载编译工具ninja

wget https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip

unzip ninja-linux.zip

export PATH=$PATH:/home/ahfu/

#建立编译目录

cd opencv-3.4.6

mkdir build && cd build

#开始config

python build_sdk.py /home/ahfu/opencv-3.4.6/build /home/ahfu/opencv-3.4.6/ --ndk_path=/home/ahfu/android-ndk-r14b --extra_modules_path=/home/ahfu/opencv_contrib-3.4.6/modules --sdk_path=/home/ahfu

#因为我的编译机不能连接互联网,所以在下载文件的阶段报错

#没关系,手动完成配置

cd o4a #前面的配置脚本已经生成了这个目录

ccmake ../..

#关闭很多不需要的选项

#BUILD_opencv_features2d=OFF

#CMAKE_BUILD_TYPE=Release

#按c, 按g

#呼唤忍者来编译

ninja

#最后看见

#[850/850] Linking CXX static library lib/armeabi-v7a/libopencv_tracking.a

#编译成功

ls -l lib/armeabi-v7a/

#android下的各个库都编译成功了

#明天继续写个程序验证能不能在android下面跑起来

=============================

2019-06-22补充:

以上编译过程并未完成,看起来该生成的.a都生成了,但是对应的include文件没有生产。

这时候opencv的程序找不到正确编译的include文件夹的话,无法编译通过。

请看我的后面一篇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值