OPENCV2.4.2移植到TINY6410

合集下载

Tiny6410_Uboot移植步骤详解

Tiny6410_Uboot移植步骤详解

#include <config.h> #include <asm/arch/s3c6400.h>
.globl mem_ctrl_asm_init mem_ctrl_asm_init:
/* DMC1 base address 0x7e001000 */ ldr r0, =ELFIN_DMC1_BASE
ldr r1, =0x4 str r1, [r0, #INDEX_DMC_MEMC_CMD]
ldr r1, =DMC_DDR_REFRESH_PRD str r1, [r0, #INDEX_DMC_REFRESH_PRD]
ldr r1, =DMC_DDR_CAS_LATENCY str r1, [r0, #INDEX_DMC_CAS_LATENCY]
#define SROM_BC1_REG_Tacs #define SROM_BC1_REG_Tcos #define SROM_BC1_REG_Tacc
(0x0) (0x4) (0xE)
// 0clk // 4clk // 14clk
address set-up chip selection set-up access cycle
check_dmc1_ready: ldr r1, [r0, #INDEX_DMC_MEMC_STATUS] mov r2, #0x3 and r1, r1, r2 cmp r1, #0x1 bne check_dmc1_ready

opencv移植到arm详细过程

opencv移植到arm详细过程

Opencv-2.1.0 的arm移植

我的环境

Host:Ubuntu 14.04

Target:tq2410 with Linux 2.6.30.4

Crossing Compiler:arm-linux-gcc 4.3.2

一交叉编译链的安装

1# cd /usr/local

解压,即可得到arm-none-linux-gnueabi 目录

# tar xzvf arm-none-linux-gnueabi-4.3.2.tgz -C ./

2 编辑/etc/bash.bashrc文件添加把编译器路径到环境变量PA TH中,

只要在这个文件中添加下面这2 个语句即可:

PATH=/usr/local/arm/4.3.2/bin:$PA TH

export PA TH

3 编辑完毕后使用source /etc/bash.bashrc 命令执行以下这个文件,让设置生效,之后再输入:

# arm-none-linux-gnueabi-gcc -v

如果输出下面的信息则表面设置成功:

Using built-in specs.

Target: arm-none-linux-gnueabi

Configured with:/scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu

tinyos编译环境搭建(windows)

tinyos编译环境搭建(windows)

将Tinyos2.x移植到cc2530

编译环境的搭建

流程:在windows下建立cygwin平台,并搭建Tinyos的编译环境,然后将基于Tinyos的应用程序编译成hex文件,通过仿真器下载到cc2530片子上运行。

原材料:硬件(cc2530节点,仿真器等)、软件(Cygwin,Keil,TinyOS 2.x,编译环境配置软件包,SmartRF04 Flash Programer等)。注意:硬件是原来在IAR下能正常使用的CC2530开发硬件就OK声明:一.里面很多东西我借鉴了网上的资料,并写在后面的参考文献中。并对一些内容进行了修改和强调,以及我遇到的一些问题的解决方法。

= = = = = = = = = = = = = = = = = = = = = =

1.安装Keil (Keil uVersion4)

这些资源网上很多,百度和谷歌都可以搜到(注:一定要下载keil uVersion4,不可以下载4以下的版本,因为要运行的是cc2530,4以下的版本会找不到相关的编译平台环境)

2.安装java 1.5 JDK

我开始用1.6了的,反正一直没成功,不知道是不是这个原因。最好就用1.5这个版本吧。安装完了在命令行中:java –verson ,出现“java version “1.5.0”表示是1.5版本了。

3.安装Cygwin

(1)下载Cygwin,我是在这里下载的:/index.php/Installing_TinyOS_2.0.2#Manual_installation_on_your_host_OS_with_RPMs,在Setp 2: Install Cygwin中第一步有个cygwin-files.zip,点击即可下载。

opencv2.4.9在Hi3531开发板上移植

opencv2.4.9在Hi3531开发板上移植

opencv2.4.9下载不用说了。

Ubuntu12.04虚拟机安装的+arm-hisiv200-linux交叉编译器+cmake-gui(2.8.7)

参考:/luotuo44/article/details/8958990

/s/blog_92942dba0101d1wj.html

一、建立编译环境配置

进入opencv-2.4.9目录建立release-hisiv200目录存放编译过程中文件。

#cd opencv-2.4.9

#mkdir release-hisiv200

#cd release-hisiv200

打开cmake-gui,进行博客中的配置:#cmake-gui

在configure时选择CMAKE_SYSTEM_NAME:arm-hisiv200-linux

C:选择/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux-gcc

C++:选择/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux-g++ 修改安装目录:CMAKE_INSTALL_PREFIX:/opt/2.4.9-arm-hisiv200

进行编译:make

二、出现问题:

1、/usr/lib/libImath.so: could not read symbols: File in wrong format

collect2: ld returned 1 exit status

Uboot_for_mini6410_移植步骤详解

Uboot_for_mini6410_移植步骤详解

这是u-boot-2010.09 针对友善之臂MINI6410移植的最基础版本,只包含了就基本的系统引导,NAND读写,DM9000网卡等等。但是这个足够开发的方便使用。今后会陆续添加原先我为mini2440添加的所有功能。

但是此次移植并非我的功劳,首先基本的移植是由Alex Ling 完成的,你可以在这里看到他提交的补丁,但是编译后无法使用,可能是因为host系统不同,对脚本的解析不同,使得spl部分的生成出现问题,只需修改一下nand_spl目录下目标板目录的中config.mk中的

PAD_TO := $(shell expr $$[$(TEXT_BASE) + 4096])

即可。

DM9000的驱动没有太大的问题(修改了一点可能出现问题的地方,感谢肖工指教),但是原本的u-boot并没有调整所有SROM控制器的配置(其中包括连接DM9000所使用的bank1的总线),我使用了友善带的u-boot的参数配置了一下就好了。

一:/batch.viewlink.php?itemid=1694

ftp://ftp.denx.de/pub/u-boot/

去这2个网站随便下载都可以下载得到最新或者你想要的u-boot。现在我将下载u-boot-2010-09,这个也就是最新的版本啦。

下载后把它解压,然后得到u-boot-2010-09的文件夹,然后进去,并且做下面几件事情:1:进入arch这个文件夹,把出arm外的前部文件夹删掉

2:进入board这个文件夹,把除samsung外前部文件夹删掉

3:进入include/configs,把除smdk6400.h外的所有文件删除。

x64&x86windows部署go-opencv

x64&x86windows部署go-opencv

Windows_x86与x64下部署go-opencv 由于go语言编写RPC程序的方便以及便于调用C语言等原因,使用go-opencv作云计算人脸识别的代码编写。64位Linux环境下部署比较顺利,可是无论是64位还是32的windows环境下得配置都出现不少问题。主要如下:

Q:cgo problem on Win64 (cc1.exe: sorry, unimplemented: 64-bit mode not compiled in) A:GO编译器使用64位,MINGW使用32位,不成功。

Q:找不到***242.dll

A:使用2.4.2的opencv

Q:go run testC.go(调用C语言的go程序)不能正确启动,提示缺少头文件之类的问题。

A:Mingw/OPENCV没有正确安装,或者环境变量没正确设置。

Q:

A:预先编译好的OPENCV动态链接库不适合与本编程环境。需要自行编译opencv。安装包:

Opencv-2.4.2.exe

Cmake2.8.10.2.exe

Mercurial-2.9.2.exe

Codeblocks.exe

Go1.2.1.windows-386.exe(go1.2.1.windows-amd64.exe)

MinGW32.7z(mingw-builds-install.exe)

一、OPENCV

Opencv安装完毕后,要进行编译,用到的就是cmake和codeblocks。

1、先将source code定位到opencv的安装目录,选择build目录

Tiny-S3C6410_Linux下LED灯驱动移植过程

Tiny-S3C6410_Linux下LED灯驱动移植过程

UT-S3C6410 ARM11 Linux 下的LED驱动

一、实验环境

操作系统:fedora13

交叉编译环境:arm-Linux-gcc 或以上,

6410板子内核源码路径在:忘了,需要厂家给的内核源代码

硬件平台:S3C6410开发板(其他类型的开发板也可以注意配置GPIO)

注:交叉编译环境一定要装好,一般的开发板给的配套资料中都会有,安装过程也都有详细的过程,如果没有,亲,你只有自己解决了。也可以联系我(****************),泪奔支持你们。

二、实验原理

控制LED是最简单的一件事情,就像学C语言时候写的“hello world”程序一样,是一个入门的程序。

首先来了解一下相关的硬件知识:

UT-S3C6410LED原理图

UT-S3C6410LED外部引脚图

从上面的原理图可以得知,LED与CPU引脚的连接方法如下,高电平点亮。

LED1 -GPM0

LED2 -GPM1

LED3 -GPM2

LED4 -GPM3

从数据手册可以找到相应的控制方法。这里我们以LED1为例,介绍一下LED1的操作方法,其他的类似,请大家自行分析。

通过上面可以得知,需要先将GPM0设置为输出方式。将寄存器GPMCON低四位配置成0001。

然后将GPMDAT寄存器的第0位置1灯亮,置LED0灯亮,开发板上有四个LED所以要对GPMDAT的低四位进行操作,就可以实现对灯的亮灭操作了。

三、实验步骤

1、编写驱动程序

mini6410_leds.c

#include

#include

#include

//#include

linux +qt4.7+opencv2.2移植到tq2440开发板

linux +qt4.7+opencv2.2移植到tq2440开发板

linux +qt4.7+opencv2.2移植到tq2440开发板

以下操作在Fedora下使用超级用户进行我已经安装了交叉编译器arm-linux-gcc 4.3.3和qt4.5的x86和arm版本在目录/opt/EmbedSky下。

修改配置文件/etc/profile 添加

pathmunge /opt/EmbedSky/4.3.3/bin

安装CMake

OpenCV 2.1的版本,必须使用CMake创建Makefile。我使用的CMake版本是2.6-Linux-i386的,是fedora 通过软件添加和载卸功能添加的(这个cmake要重新安装,而且要添加bin进去路径)

编译OpenCV:

1、解压OpenCV 2.1到/opt/EmbedSky/OpenCV-2.1.0目录下

2、在超级用户下,运行cmake-gui命令

选择源代码目录:/opt/EmbedSky/OpenCV-2.1.0

选择Build目录:/home/pww71/opencv-arm/

点击Configure,保持generator为Unix Makefiles,选择Specify options for cross-compiling,点击Next Operating System填写arm-inux

C Compilers选择/opt/EmbedSky/4.3.3/bin/arm-linux-gcc

C++ Compilers选择/opt/EmbedSky/4.3.3/bin/arm-linux-g++

程序库的Target Root填写/opt/EmbedSky/4.3.3/,然后点击Finish

Win10win7+64位+Opencv2.4.9+vs2010

Win10win7+64位+Opencv2.4.9+vs2010

Win10/win7+64位+Opencv2.4.9+vs2010配置问题(c++语言环境)1 安装软件

Opencv2.4.9下载地址:/s/1pLAk6p1 密码:l1vk

Vs2010下载地址:/s/1pLgyxV9 密码:kadk

安装vs2010选择c++环境

opencv其实就是一个解压后的文件夹,记住解压后的路径,后面配置环境变量要用,打开之后如下图,包含两个子文件build和sources,检查一下opencvbuild/include路径下有opencv 和opencv2两个子文件,include/x86和include/x64路径下都有vs10,vs11,vs12,这些是不同版本vs的二进制文件,本文要用到的是vs10,如果读者用的是更早以前的vs(比如vs2008其实就是vs9)则需要用CMAKE工具来编译你所用版本的二进制代码,此处不做详述,毕竟怎么简单怎么来,当今时代效率最重要。

2 opencv环境变量配置

右键计算机属性-高级系统变量-弹出系统属性框-高级右下角-环境变量-出现环境变量对话框。

选择用户变量或者系统变量中的path变量,双击右边的值,或者单机然后编辑,把地址D:\ProgramFiles\OPENCV\opencv\build\x86\vc10\bin和

D:\Program Files\OPENCV\opencv\build\x64\vc10\bin

(两个地址粘贴时注意用英文分号;隔开)如果是32位系统就粘贴x86那个就行了。

粘贴到值中,保存,上面两个地址注意是你的解压地址,下面步骤的地址同理也是你的解压地址。

VS2010+OpenCV2.4.6永久性配置方法

VS2010+OpenCV2.4.6永久性配置方法

VS2010+OpenCV2.4.6永久性配置方法

1、配置OpenCV环境变量

计算机->(右键)属性,出现如图1所示界面

单击“高级系统设置”,选中高级(标签)出现如图2所示界面

单击右下方的“环境变量”,弹出如图3所示界面

选中path,单击下方“编辑”按钮

在变量值里面添加” …\build\x86\vc10\bin”(里面的…为自己的opencv路径。例如我的:D:\ProgramFiles \opencv\build\x86\vc10\bin;

2、配置VS2010环境

大家在使用opencv的时候肯定会面对这样一个问题:根据官网以及大多数教程提供的方法中,似乎每一次新建一个opencv的新项目以后都需要重新再配置“VC++目录”中的“包含目录”和“库目录”;以及“链接器”中的“附加依赖项”。这给我们造成了很多的不便,大家都希望寻找一种只需要配置一次opencv环境的方法,下面我就给大家介绍一种简单的方法:

VS2010中传统配置opencv环境是通过设置项目中的“属性”来完成的。如图5:

这里就是我们看到的每次都需要进行opencv配置的界面。

这并不是我们所用的配置环境,在这里我们的配置过程如下:首先确保已经打开一个C++的工程,在IDE中,打开视图->属性管理器(有的是视图->其它窗口->属性管理器,没有什么区别)。展开树形后,你会发现一个名为“er”的项目,如图6:

右击并点击“属性”后,你会看到一个和工程属性页类似的属性设置框”er属性页”。如图7:

在以上的属性页中,我们就按照opencv配置的过程进行配置:

OpenCV安装与移植

OpenCV安装与移植

OpenCV的Ubuntu安装和Smart210_ARM开发板移植

软硬件环境:

宿主机:Ubuntu 10.04 32bit

开发板:友善之臂Smart210

OpenCV:2.4.10

其他:

cmake version 2.8.0

arm-linux-g++ 4.5.1 / arm-linux-gcc 4.5.1

查看Ubuntu版本号的指令为:sudo lsb_release –a,效果如下图1:

图1:查看ubuntu的版本号

1.Opencv

2.4.10在Ubuntu上安装

●首先安装必要的软件库

安装GCC:sudo apt-get install build-essential

安装Cmake:sudo apt-get install cmake

安装Git(可选):sudo apt-get install git

安装GTK开发版:sudo apt-get install libgtk2.0-dev

安装pkg-config:sudo apt-get install pkg-config

安装Python:sudo apt-get install python3.2-dev

安装Numpy:sudo apt-get install python-numpy

安装媒体包:sudo apt-get install ffmpeg

安装可选媒体包:

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev

交叉编译opencv移植到海思3518

交叉编译opencv移植到海思3518

交叉编译opencv移植到海思3518

1.下载opencv源码

2.下载cmake-gui

在ubuntu虚拟机上安装cmake-gui,apt-get install cmake-qt-gui,并运⾏cmake-gui

安装gtk等:apt-get install libgtk2.0-dev pkg-config

3.交叉编译opencv

3.1 导⼊hisi编译器路径

下图为参考,我实际的是himix100。

CMAKE_C_FLAGS和CMAKE_CXX_FLAGS 增加-mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4

勾选Release

CMAKE_EXE_LINKER_FLAGS 增加 -lpthread -lrt -ldl

去除with项的依赖,精简opencv⼤⼩

选择⽣成的静态库还是动态库,这⾥我编译的是静态库。

根据需要勾选依赖库,是否编译为⼀个⽂件

点击Generate

⽣成后,到build路径执⾏make -j8,编译⽣成lib下的库

4.精简动态库

将⽣成的libopencv_world.a链接到⾃⼰的代码编译为so后,可以使⽤arm-himix100-linux-strip libxxxx.so再精简⽣成的动态库,以便在3518下可以放得下。

经过测试,增加CMAKE_C_FLAGS和CMAKE_CXX_FLAGS 增加-mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4编译优化,可以使opencv运⾏时间减少⼀半。

Opencv2.0移植ARM全过程

Opencv2.0移植ARM全过程
1. 解压进入当前目录
2. 配置选项: $ ./configure --prefix=/home/liuxiu/opencv-arm --enable-pic –enable-shared --cross-prefix=armlinux- --host=arm-linux --extra-cflags=-I/home/liuxiu/opencv-arm/include --extra-ldflags=L/home/liuxiu/opencv-arm/lib --enable-shared --enable-pthread –disable-asm 出现 ./version.sh: 行 2: git: 未找到命令 Platform: ARM System: LINUX asm: no avs input: no lavf input: no ffms input: no mp4 output: no pthread: yes debug: no gprof: no PIC: yes shared: yes visualize: no
我所有的交叉编译库文件都将生成在 opencv-arm 文件夹中
一、交叉编译链的安装
根据友善之臂提供的文件有个 arm-linux-gcc 的文件夹拷贝到 ubuntu 中。
1. 解压:采用 terminal 的输入代码的形式比较烦琐,我都是直接手动点解压到当前用户主文 件夹(/home/liuxiu/)中,接下来的库文件都是解压到这主文件夹下Biblioteka Baidu行配置安装的。

opencv编译安装笔记(Linux、Ubuntu )

opencv编译安装笔记(Linux、Ubuntu )

opencv 编译安装笔记(Linux、Ubuntu )

一、Linux 下编译安装OpenCV

Cmake 的安装

OpenCV 2.2 以后版本需要使用Cmake 生成makefile 文件,因此需要先安装cmake。

ubuntu 下安装cmake 比较简单,

apt-get install cmake

如果觉得自带的版本不符合要求,可以下载安装包。

这里下载已经编译好的,这样只需要解压至需要的目录下即可使用:

tar zxvf cmake-2.8.10.2-Linux-i386.tar.gz –C /usr/local/

设置环境变量:

sudo gedit /home/emouse/.bashrc

在打开的文件后添加:

Cmake2.8.10编译OpenCV2.4.3配置VS2010终结版

Cmake2.8.10编译OpenCV2.4.3配置VS2010终结版

我想写下这个文档的目的,是这几天被Cmake2.8.10编译OpenCV2.4.3配置VS2010,在window7,64位操作系统环境中。本人是一个电脑新手,也仅仅是对VS2010有稍微的了解,所以配置和编译过程主要是在OpenCV中文网的“visual studio 2010下安装OpenCV及相关配置”这篇文章的参照下完成的,当然了也浏览了很多其他的相关的配置贴,但是由于时间问题,没有一一列举,总之感谢你们。希望能帮助到你,让你顺顺利利的解决。

首先,下载文件

官方地址:/projects/opencvlibrary/

总之,在这个网站下,你可以下到最新的,目前下到的是OpenCV 2.4.3

接着是:Cmake,可以去官网下载最新的:

/目前更新到2.8.10

还有就是Intel TBB了,目前已经是TBB4.1了/

当这些都准备好了,就开始安装了:

1、首先安装CMAKE2.8.10,放到你想的文件夹下,如本人的“D:\TBB”

然后将OpenCV2.4.3,安装到你将要放置OPENCV的地方,如本人的“D:\opencv”

接着,解压INTEL TBB4.1,比如将OPENCV和TBB都放在D:里面。

如本人的

把他们都放在D盘下,主要是方便,担心路径的对后面配置过程的影响,反正第一次,很多东西以简单的方式进行,等以后了解了,绝对不这么做。(PS,刚刚开始装Arcgis也是一样的,但是现在我可以把它放在任意的文件夹下了,加油,努力)

接着:

在一个你喜欢文件夹下创建子目录D:\Program\cv2010,用于存放编译结果。

OpenCV1.0.0移植到ARM (utu2440)

OpenCV1.0.0移植到ARM (utu2440)

交叉编译zlib

交叉编译png

交叉编译libjpeg

以上三个在minigui移植中已经试过了,具体参考该文件。

在opencv目录下运行:

./configure --host=arm-linux --without-gtk --without-carbon --without-v4l --without-v4l2 --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --enable-shared--disable-apps CXX=arm-linux-g++ --prefix=/home/wudean/opencv-1.0.0/_install

注:

∙--host=arm-linux :指出交叉编译arm平台

∙--without-gtk:忽略gtk+2.0 windows

∙--without-carbon: 不使用Mac OS上的X库

∙--without-quicktime

∙--without-1394libs

∙--without-ffmpeg

∙--without-python

∙--without-swig

∙--without-v4l --without-v4l2:不需要v4l和v4l2

∙--enable-static :生成静态库

∙--enable-shared:生成动态库,这一项必须要有,不要以后可能会出现加载动态库失败∙CXX=arm-linux-g++ :指定编译工具(我用的是4.3.3)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.cmake-gui 安装 到官网上下载已经编译好的 cmake-2.8.8-Linux-i386.tar,gz,解压就可以了
9、opencv2.4.1 的交叉编译:
用到的主要目录说明:
交叉编译工具链所在目录
/opt/toolschain/4.5.1/bin
安装 opencv 的目录
/opt/arm/ffmpeg-arm/opencv-build
解决方法:修改 CMakeCache.txt,WITH_TIFF:BOOL=ON,改成 OFF,重新 编译,错误消除。
#make install 三、测试
测试程序: #include #include #include
int main(int argc,char **argv) {
CvCapture* capture = NULL; IplImage* frame = NULL;
if(!(capture = cvCaptureFromCAM(-1))) {
fprintf(stderr, "Can not open camera./n"); return -1; }
cvNamedWindow("video", 1);
while(frame = cvQueryFrame( capture ) ) {
4、yasm 的交叉编译:
#./configure --host=arm-linux --prefix=/opt/arm/opencv --enable-shared --enable-static #make #make install
5、libx264 的交叉编译:
#CC=arm-linux-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/opt/arm/opencv 修改 config.mak 中 CC=arm-none-linux-gnueabi-gcc AR=arm-none-linux-gnueabi-ar RANLIB=arm-none-linux-gnueabi-ranlib STRIP=arm-none-linux-gnueabi-strip 保持并退出 #make #make install 6、libxvid 的交叉编译:
单个 opencv 的 make 就花了大概 1 个半小时,终于成功了,但是这只是开始,要 想运用 opecv+qt+x264+ffmpeg 做东西,这还需要更长远的学习啊
opencv 源码所在目录
/opt/opencv/opencv-2.3.0/
编译好的 opencv 库所在目

/home/6410/opencv/opencv-2.4.2/build
#mkdir build #cd build 安装 cmake 和 cmake-gui 包 #yum install cmake cmake-gui #cmake-gui 选择源代码目录/home/6410/opencv/opencv-2.4.2/
cmake-2.8.8-Linux-i386.tar,gz
二、opencv-2.3.1 的移植过程
1、libz 的交叉编译:
# ./configure --prefix=/opt/arm/opencv --shared 修改 makefile CC=arm-linux-gcc AR=arm-linux-ar rc RANLIB=arm-linux-ranlib CDSHARED=arm-linux-gcc -shared -wl, -soname,libz.so.1,--version-script,zl lib.map #make #make install
opencv2.4.2 移植到 X4412
一、编译环境及库文件
linux 环境:CentOS65 交叉编译:4.5.1 arm 板子:X4412
libz: libjpeg: libpng: libyasm: opencv: libx264: libxvid: lffmpeg: cmake:
zlib-1.2.7 jpegsrc.v7 libpng-1.5.10 yasm-1.2.0 opencv-2.4.2 x264-snapshot-20120608-2245 xvidcore-1.3.2 ffmpeg-0.10.3
选择 Build 目录:/home/6410/opencv/opencv-2.4.2/build 点击 Configure,保持 generator 为 Unix Makefiles,选择 Specify options for cross-compiling,点击 Next, Operating System 填写 arm-linux C Compilers 填写 opt/FriendlyARM/toolschain/4.5.1/bin/arm-linux-gcc C++ Compilers 填写 opt/FriendlyARM/toolschain/4.5.1//bin/arm-linux-g++ 程序库的 Target Root 填写 opt/FriendlyARM/toolschain/4.5.1/ 然后点击 Finish。 默认安装目录为/usr/local,点击 Generate 生成 Makefile。
2、libjpeg 的交叉编译:
#./configure --host=arm-linux --prefix=/opt/arm/opencv --enable-shared --enable-static #make install
3、libpng 的交叉编译
#./configure --host=arm-linux --prefix=/opt/arm/opencv --enable-shared --enable-static #make #make install
解决方法: 修改 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'
cvShowImage("video", frame); }
cvDestroyWindow("video");
cvReleaseCapture(&capture);
return 0; }
编译: #arm-linux-g++ -o opencv_test opencv_test.cpp -I /usr/local/include -L /usr/local/lib -lopencv_core -lopencv_highgui -lpthread -lrt
#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
#cd build/generic
#./configure --prefix=/opt/arm/opencv --host=arm-linux --disable-assembly #make #make install
Байду номын сангаас
7、ffmpeg 的交叉编译:
#./configure --prefix= prefix=/opt/arm/opencv --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm --disable-stripping --target-os=linux --enable-libx264 --enable-libxvid --cc=arm-linux-gcc --enable-swscale --extra-cflags=-I/opt/arm/opencv/include --extra-ldflags=-L/opt/arm/opencv/lib #make #make install
../../lib/libopencv_highgui.so: undefined reference to `_TIFFwarningHandler' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemcmp' ../../lib/libopencv_highgui.so: undefined reference to `_TIFFmemset'
相关文档
最新文档