OPENCV2.4.2移植到TINY6410
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-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)
将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下载不用说了。
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_移植步骤详解
这是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
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灯驱动移植过程
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开发板
以下操作在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
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永久性配置方法
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的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
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全过程
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 )
一、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,在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)
交叉编译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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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'