Ununtu18编译arm版opencv3.3.0

环境准备:

        ubuntu18(64位)

        opencv3.3.0.tar

        arm-linux-gnueabi5.4.0.tar

交叉编译opencv

        1、解压opencv3.3.0到指定目录下(如opencv3.3.0)

unzip opencv3.3.0zip

        2、新建目录build并进入

mkdir build
chmod -R 777 build
cd build

        3、安装cmake-qt-gui,进入到build目录,并运行

sudo apt-get install cmake-qt-gui
cmake-gui

选择源文件路径和安装路径,

之后点击configure

 Next

然后选择交叉编译路径,点击finish

之后增加选项:

BUILD_ZLIB
BUILD_JPEG
BUILD_PNG
BUILD_opencv_world
OPENCV_ENABLE_NONFREE

取消选项:

WITH_CUDA
WITH_GTK
WITH_FFMPEG
WITH_1394
WITH_GSTREAMER
WITH_TIFF
WITH_OPENEXR
WITH_OPENCL
BUILD_opencv_freetype
WITH_LIBV4L

 

以上选项根据版本有所不同,没有的选项可以忽略。

然后可以修改安装路径

最后点击Configure之后再点击Generate(此步一定要联网)

完成之后就可以退出cmake-gui。

        4、修改CMakeCache.txt

在CMAKE_EXE_LINKER_FLAGS:STRING=   之后添加

-lpthread -lrt -ldl

 

5、然后保存退出

     执行

sudo make -j4

6、很大概率会报错

modules/core/CMakeFiles/opencv_core.dir/build.make:2307: recipe for target ‘lib/libopencv_core.so.3.4.1’ failed
make[2]: *** [lib/libopencv_core.so.3.4.1] Error 1
make[2]: *** Deleting file ‘lib/libopencv_core.so.3.4.1’
CMakeFiles/Makefile2:1521: recipe for target ‘modules/core/CMakeFiles/opencv_core.dir/all’ failed
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
Makefile:160: recipe for target ‘all’ failed
make: *** [all] Error 
 

版本问题(64位Ubuntu)

解决方案:

1、先把BUILD_opencv_world选项去掉试试看,重新编译,还是不行

2、进入opencv3.3.0/build/3rdparty(第三步开头选择的)目录下,先找该路径中有哪些目录下有flags.make

cd build/3rdparty
find -name flags.make

如:/zlib/CMakeFles/zlib.dir/flags.make

将这些目录下所有的flags.make

3、修改

C_FLAGS = -W -Wall

 为

 C_FLAGS = -O3 -fPIC -W -Wall      

用来支持在64位机上编译

4、最后重新编译:

sudo make -j4

应该就没问题了 

5、安装:

sudo make install

安装完成之后所有编译好的库文件都在/opt/opencv3.3.0/lib(自己修改的安装路径)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十九-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值