ubuntu16.04-交叉编译opencv3.4.6

时间:2020-03-30 15:11:17   收藏:0   阅读:162

0、前言

1、前提准备

2、下载安装

3、在opencv源码目录中创建一个文件夹,用于放置编译输出的文件,以免污染opencv源码目录

4、命令行输入:cmake-gui,进入界面设置

  说明:Where is the source code对应opencv的文件夹,Where to build the binaries对应opencv存放编译好的配置文件等信息的文件夹(刚才创建的build文件夹)

  技术分享图片

 

  选择第四项,交叉编译:

  技术分享图片

 

  注意:Linux要大写首字母,不能写成linux。Target Root代表标准库与头文件的搜索起始位置,可以理解为对应交叉编译工具的根目录

  下图中的工具链是没选对的,C:/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-gcc,C++:/usr/local/arm/arm-2014.05/bin/arm-none-linux-gnueabi-g++

  Target Root:/usr/local/arm/arm-2014.05/bin/

  这里我写的路径不一定跟你的一样,因为工具链安装的位置不同,你要灵活点。

  技术分享图片

  技术分享图片

 

  我的opencv编译后的存放路径,也就是库路径:/root/opencv_dir/lib_opencv_dir(这是自己新建的)

   技术分享图片

5、编译

  sudo make -j4-------这是在上面自己创建的build中执行的

  也许会报错:

  技术分享图片

  解决方法:修改路径,例如我的:/root/opencv_dir/opencv-3.4.6/3rdparty/zlib(当然在这步之前,你要find / -name zlib.h查看zlib.h是否在那个目录存在)

  有的在make编译前勾选了BUILD_ZLIB,但是在编译之后,在cmake-gui这里找不到这zlib的头文件路径,这情况我没解决。

  技术分享图片

  此后,还会貌似还会有其他报错问题,都可以通过将错误信息粘贴到百度查找解决方法,粘贴的信息应局部、全部都试试,例如对于上面的错误,局部信息就是fatal error zlib.h:No such or file or directory

  make成功后……

6、安装

  sudo make install

  此后,opencv交叉编译就成功了,在上面对应自己指定的文件夹中就可以看到编译出来的opencv库了,例如我的是:/root/opencv_dir/lib_opencv_dir

  技术分享图片

 

  通过file xxx.so可以查看是否交叉编译成功了

  技术分享图片

体会小结:

原文:https://www.cnblogs.com/xz-954042850-qq/p/12598388.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!