linux 系统上的 交叉编译 opencv 目标 ARM
来源:互联网 发布:c 界面编程书籍 编辑:程序博客网 时间:2024/04/30 01:10
本人的目标平台的树莓派B+安装的ubuntun14.10的系统
插一句:树莓派是什么
树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发,Eben·Upton/埃·厄普顿为项目带头人。2012年3月,英国剑桥大学埃本·阿普顿(Eben Epton)正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是Raspberry Pi电脑板,中文译名"树莓派"。这一基金会以提升学校计算机科学及相关学科的教育,让计算机变得有趣为宗旨。基金会期望这 一款电脑无论是在发展中国家还是在发达国家,会有更多的其它应用不断被开发出来,并应用到更多领域。在2006年树莓派早期概念是基于Atmel的 ATmega644单片机,首批上市的10000“台”树莓派的“板子”,由中国台湾和大陆厂家制造。
开源硬件,玩的人还是很多的,不过本人是才知道的,见笑了
交叉编译的环境为vmware10 中安装的麒麟15的ubuntu系统
本人严格按照opencv官网的这篇文章编译的
http://docs.opencv.org/doc/tutorials/introduction/crosscompilation/arm_crosscompile_with_cmake.html
相信英语稍微懂点就可以搞定,在此主要是记录下本人编译中遇到的几天问题
需要另外安装
sudo apt-get install g++-arm-linux-gnueabi
sudo apt-get install g++-arm-linux-gnueabihf
sudo apt-get install pkg-config//文章是写的是pkgconfig
optional 是可选安装的意思,本人是都安装了
[optional] ffmpeg or libav development packages for armeabi(hf): libavcodec-dev, libavformat-dev, libswscale-dev;
上面的这句话中我选择的是安装
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
libdc1394
ubuntu系统15.4里面我选择安装sudo apt-get install libdc1394-22,默认应该是已经安装了
git clone https://github.com/Itseez/opencv.git
git客户端工具 相信应该都装过 我用 sudo apt-get install git-core 安装
因为我要编译时特定版本opencv2.4.9 所以我选择的是直接到opencv官网下载源码,这个不难
几下来就是这几条命令了
cd ~/opencv/platforms/linux//opencv 是我源码解压的路径
mkdir -p build_hardfp//编译生成的动态库或静态库等的位置
cd build_hardfp
cmake -DCMAKE_TOOLCHAIN_FILE=../arm-gnueabi.toolchain.cmake ../../..
因为本人需要编译是静态库,所以我加上了一个选项DBUILD_SHARED_LIBS=OFF
sudo cmake -DCMAKE_TOOLCHAIN_FILE=../arm-gnueabi.toolchain.cmake ../../.. -DBUILD_SHARED_LIBS=OFF
但是当本人严格这样执行命令后会发现提示找不到交叉编译的工具链的路径,且提示 版本为4.6,而我现在系统安装的arm-linux-gnueabihf 是4.9.2
故我将arm-gnueabi.toolchain.cmake文件的内容修改了两处
1、set(GCC_COMPILER_VERSION "4.6" CACHE STRING "GCC Compiler version")
将其改为set(GCC_COMPILER_VERSION "4.9" CACHE STRING "GCC Compiler version")
2、set(CMAKE_C_COMPILER arm-linux-gnueabi${FLOAT_ABI_SUFFIX}-gcc-${GCC_COMPILER_VERSION})
set(CMAKE_CXX_COMPILER arm-linux-gnueabi${FLOAT_ABI_SUFFIX}-g++-${GCC_COMPILER_VERSION})
将其改为
set(CMAKE_C_COMPILER /usr/bin/arm-linux-gnueabi${FLOAT_ABI_SUFFIX}-gcc-${GCC_COMPILER_VERSION})
set(CMAKE_CXX_COMPILER /usr/bin/arm-linux-gnueabi${FLOAT_ABI_SUFFIX}-g++-${GCC_COMPILER_VERSION})
到此终于顺利执行
然后执行make命令这个看你的机器cpu等性能了,本人电脑比较快,也没用太长时间
完了你会在build_hardfp 目录下看到opencv编译生成的库了。
另外
本人最近在学qt 算是小白,尝试用qt开发android应用,有些小小体会
还有对机器视觉感兴趣的可以加入我们的qq群 机器视觉解决方案群 142669208
简介:
机器视觉,机器人,视觉自动化,图像处理,视频分析,人工智能领域技术开发交流
iMV视觉核心库提供最专业的视觉解决方案, 欢迎项目合作,定制开发。
以及我们新开的机器视觉论坛
http://www.m-vision.club
本人qq:645625872
欢迎各位老师,同学,朋友,一起学习、交流,进步!
好了,最后就good luck! 吧
- linux 系统上的 交叉编译 opencv 目标 ARM
- linux与arm的交叉编译的过程(小编用的目标板是arm tiny6410 )
- LTP在arm-linux-交叉编译环境上的安装
- 为Arm Linux目标平台构建交叉编译环境
- opencv arm 交叉编译资料
- ARM Linux 交叉编译
- arm-Linux交叉编译
- 交叉编译Linux arm
- OpenCV ARM移植(交叉编译opencv) arm-oe-linux-gnueabi-gcc编译opencv3.1.0
- 交叉编译环境(arm-linux-gcc)中opencv的安装
- arm-linux交叉编译环境的配置
- ARM-Linux平台的Busybox交叉编译
- arm-linux交叉编译环境的搭建
- arm-linux交叉编译ko的makefile
- ARM-LINUX交叉编译环境的搭建
- arm linux 交叉编译工具的选择
- arm.linux gcc的交叉编译
- 交叉编译libxml2的arm-linux库
- 开源控件(比如slidingmenu)中引用Android Design Support Library,没有引入相应的依赖库引发的问题
- 自己实现遍历文件层次结构程序
- Mac 下 svn 服务器的配置
- 古代赌局
- opengl 中 位图的操作
- linux 系统上的 交叉编译 opencv 目标 ARM
- Android中获取当前进程名称
- Gulp入门
- 【第4周 项目2 - 建设“单链表”算法库】
- RaspberryPi 更新国内源
- 【练习题】 使用程序建立一个多级的目录,在每个目录下,新建一个和目录名字一样的txt文件,并写入1990
- rsync安装
- 设计模式六大原则(5):迪米特法则
- Didn't find class "android.support.v7.widget.CardView" on path: DexPathList[[zip file "/data/app/com