ubuntu12.04交叉编译opencv移植到arm板
来源:互联网 发布:小米平板2 刷机 mac 编辑:程序博客网 时间:2024/05/16 05:38
第一 安装arm-linux-g++
下载arm-linux-gcc-4.3.2.tgz。然后使用#tar -zxvf arm-linux-gcc-4.3.2.tgz -C / 命令解压。可以看到其已经被解压到/usr/local/arm/4.3.2目录下了。使用命令#vim/etc/bash.bashrc 打开文件进行配置。在最后一行输入下面一句
exportPATH=$PATH:/usr/local/arm/4.3.2/bin
保存并退出。打开一个新终端或者在本终端输入 #source/etc/bash.bashrc 使得配置信息生效。原理可以查看博文http://blog.csdn.net/luotuo44/article/details/8917764
第二步 下载OpenCV源码
到http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/下载安装opencv 2.0,解压到/usr/local下
第三 建立安装opencv的目录
mkdir /opt/arm;
mkdir /opt/arm/opencv
mkdir /opt/arm/opencv/lib
mkdir /opt/arm/opencv/include
第四 Configure
./configure --host=arm-linux --without-gtk --without-carbon --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --enable-shared --disable-apps CXX=arm-linux-g++ CPPFLAGS=-I/usr/local/arm/4.3.2/arm-none-linux-gnueabi/include LDFLAGS=-L/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/lib --with-v4l2 --prefix=/opt/arm/opencv --libdir=/opt/arm/opencv/lib -includedir=/opt/arm/opencv/include
这里关键的是CPPFLAGS、 LDFLAGS的路径,也就是交叉编译器的路径一定要正确。另外,--prefix、--libdir、-includedir是用来设置交叉编译安装的opencv的.so文件和include文件所存放的位置。确保--prefix=/usr/local/arm/opencv 这里的opencv文件夹存在,要提前建好。
第五 make
在make之前先检查下系统是否安装了libtool,使用命令 apt-get install libtool
然后make,否则
我遇到了
- ../3rdparty/.libs/lib_clapack.a(dlasyf.o): could not read symbols: File in wrong format
- collect2: ld returned 1 exit status
- make[2]: *** [libcxcore.la] 错误 1
- make[2]:正在离开目录 `/home/carson/download/OpenCV-2.0.0/src'
- make[1]: *** [all-recursive] 错误 1
- make[1]:正在离开目录 `/home/carson/download/OpenCV-2.0.0'
- make: *** [all] 错误 2
这种错误。
第六 make install
第七测试程序
arm-linux-g++ -I/opt/arm/opencv/include/opencv -L/opt/arm/opencv/lib -lml -lcvaux -lhighgui -lcv -lcxcore test.cpp -lpthread -lrt -o test
以上命令均是在root权限下运行的
附:1、在configure完以后,直接直接在makefile里面编译参数的修改
2、编译和链接的时候都要加 -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9,不然qt里引用可能会出现问题。直接在makefile中搜索 -o,添加对应的连接参数
3、 ./configure --host=arm-linux --without-gtk --without-carbon --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --enable-shared --disable-apps CC=/home/hs/mentor/bin/arm-none-linux-gnueabi-gcc CFLAGS=-I/home/hs/mentor/arm-none-linux-gnueabi/include LDFLAGS=-L/home/hs/mentor/arm-none-linux-gnueabi/lib --with-v4l2 --prefix=/home/panyucheng/test/testReadline/readline-6.3/cross_build --libdir=/home/panyucheng/test/testReadline/readline-6.3/cross_build/lib -includedir=/home/panyucheng/test/testReadline/readline-6.3/cross_build/include bash_cv_wcwidth_broken=yes
参考链接:
http://www.ithao123.cn/content-7148308.html
http://www.linuxidc.com/Linux/2011-02/32211.htm
http://www.chinaz.com/server/2009/0807/85792.shtml
- ubuntu12.04交叉编译opencv移植到arm板
- ubuntu12.04交叉编译opencv移植到arm板
- 将交叉编译好的OpenCV移植到ARM平台
- Opencv源码交叉编译和移植到ARM
- OpenCV ARM移植(交叉编译opencv)
- 最新版ser2net移植到ARM板上,交叉编译
- 交叉编译并移植opencv3.0.0到arm板
- 交叉编译并移植opencv3.0.0到arm板
- 交叉编译并移植opencv3.0.0到arm板
- minicom:交叉编译、移植到arm
- freeswitch移植到arm--交叉编译
- Bluez交叉编译移植到arm linux
- radvd移植到arm交叉编译问题解决
- ipmitool 交叉编译移植到arm(android)
- Ubuntu15.04交叉编译opencv到ARM全过程
- Opencv交叉编译到ARM(基于Qt)
- OpenCV ARM移植(交叉编译opencv) arm-oe-linux-gnueabi-gcc编译opencv3.1.0
- Ubuntu16.04交叉编译OpenCV并移植
- 设置CATALINA_HOME环境变量
- [leetcode] 334. Increasing Triplet Subsequence
- mysql workBeach 简单实用
- KPCR
- Java反射机制梳理(二)
- ubuntu12.04交叉编译opencv移植到arm板
- Eclipse配置JavaWeb环境
- 以in-memory方式运行的canopy生成算法
- C语言——位操作
- 黑马程序员——Java基础
- 设置button大小同文字一样大
- Noj Red packet 1651 (二分)
- srebmuNfaeLottooRmuS.129
- 多线程系列原创文章的说明