opencv移植arm流程

本文详细介绍了如何将opencv 2.4.13版本从github获取并移植到arm-linux系统。主要步骤包括:下载源码,安装cmake和cmake-gui,配置编译选项,进行交叉编译,修改CMakeCache.txt,生成并安装库文件,最后将库文件和头文件复制到交叉编译器对应目录,并创建工程文件和makefile以在嵌入式系统上运行。
摘要由CSDN通过智能技术生成

编译opencv:

一.在github上获取opencv源码tar.gz压缩包,版本为2.4.13,并将其拷贝到linux下,将其解压。

二.在linux下安装cmake和cmake-gui:

        apt-get install cmake cmake-gui

三.进入opencv源码目录,执行cmake-gui

四.出现图形化操作界面,选择源码目录和目标建立目录(需要提前创建),点击configure,将with_cuda和with_tiff去掉勾选,为cmake_install_prefix分配一个目录,通常为/usr/local/opencv_arm(需要创建)。

五.generate,选择cross_compiling,点击next,因为我们我们需要移植到arm上,因此需选为交叉编译器,OS:linux C:arm-none-linux-gnueabi-gcc C++:arm-none-linux-gnueabi-g++ ,然后再点击generate,在编译路径下就生成了makefile。

六.进入编译目录,修改CMakeCach.txt文件,在cmake_exe_linker_flags=后加上-lpthread -lrt -ldl

七.执行make和make install,就在之前为cmake_install_prefix分配的目录下生成了opencv库文件和源文件。

测试:

将生成好的lib库中所有文件复制到交叉编译器的标准库lib下,include头文件下的opencv和opencv2复制到标准库include下

opencv2.4.4移植ARM 一、编译环境及库文件 linux环境:ubuntu 11.10 交叉编译:4.6.1 opencv: opencv-2.4.4 cmake: cmake-2.8.1-Linux-i386.tar.gz 二、opencv-2.4.4的移植过程 解压cmake-2.8.1-Linux-i386.tar.gz到/usr/local/ cmake-2.8.1 #export PATH= /usr/local/ cmake-2.8.1/bin:$PATH 用到的主要目录说明: 交叉编译工具链所在目录 /usr/local/arm-4.6.1/ 安装opencv的目录 /usr/local/ opencv源码所在目录 /usr/local /opencv-2.4.4 编译好的opencv库所在目录 /usr/local /opencv-2.4.4/build 默认安装目录为/usr/local #mkdir build #cd build #cmake-gui 选择源代码目录 /usr/local /opencv-2.4.4 选择Build目录 /usr/local /opencv-2.4.4/build 点击Configure,保持generator为Unix Makefiles,选择Specify options for cross-compiling,点击Next, Operating System填写arm-linux C Compilers填写/usr/local/arm-4.6.1//bin/arm-none-linux-gnueabi-gcc C++ Compilers填写/usr/local/arm-4.6.1//bin/ arm-none-linux-gnueabi -g++ 程序库的Target Root填写/usr/local/arm-4.6.1/ 然后点击Finish,开始configure 点击Generate生成Makefile(等configure完之后按钮才能点击) #make 错误一: Linking CXX executable ../../bin/opencv_createsamples ../../lib/libopencv_core.so: undefined reference to `clock_gettime' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFerrorHandler' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFrealloc' ../../lib/libopencv_core.so: undefined reference to `pthread_key_create 解决方法: 修改CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt,重新编译,错误消除 错误二: Linking CXX executable ../../bin/opencv_createsamples ../../lib/libopencv_highgui.so: undefined reference to `_TIFFerrorHandler' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFrealloc' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFmalloc' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcpy' ../../lib/libopencv_highgui.so: undefined reference to `TIFFOpen' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFfree' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFwarningHandler' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcmp' ../../lib/libopencv_high
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值