在linux上交叉编译opencv之前需要交叉编译的依赖库

我在后面使用opencv时并没有用到这里交叉编译的第三方库,opencv源代码自带第三方库文件,可以自己在cmake中配置,我现在不是很理解网上教程说的交叉编译opencv之前要交叉编译第三方库。虽然我做了无用功,但还是记录一下,以后可能会用到

参考文章1:https://blog.csdn.net/lang523493505/article/details/85236669

参考文章2:https://blog.csdn.net/kaychangeek/article/details/78550141

准备环境:

操作系统:Ubuntu 16.04.7 LTS

交叉编译器:arm-linux-gnueabihf-gcc

1、首先需要准备好opencv运行依赖的库文件,随便找个文件夹放进去


2、配置环境变量

打开这个文件

在结尾处输入你配置的环境变量

export OPENCV_3THPARTY_LIB=/usr/local/arm/opencv_3p_lib

环境变量就是OPENCV_3THPARTY_LIB,你以后可以在shell中用$OPENCV_3THPARTY_LIB代替后面的目录,后面的目录是你自己指定的,用来存放依赖库编译输出的东西,现在是个空目录

保存并退出,然后source一下你的文件


你可以使用以下命令检查你的环境变量是否设置成功


2、解压缩、编译并安装。注意这些库文件之间还有相互的依赖性,具体依赖性在官网有介绍,总之一定要按照下面的顺序安装,否则会报错

1、交叉编译libz(没有打错,就是这个名字)

解压缩:

进入解压后的文件夹,创建一个新的build文件夹,进入build文件夹,创建一个脚本文件build.sh

在脚本中输入命令

CC=arm-linux-gnueabihf-gcc ../configure --prefix=$OPENCV_3THPARTY_LIB --shared

make

make install

运行它


运行之后看一下目标路径下,应该已经有文件了

2、交叉编译yasm

解压

和上一步一样

在build.sh脚本中输入:

../configure --host=arm-linux-gnueabihf --prefix=$OPENCV_3THPARTY_LIB --enable-shared --enable-static

make

make install

配置权限,运行它

3、交叉编译xvidcore

解压

进入解压的文件夹

看到这里已经有build文件夹了,进去找makefile,它在build/generic路径下

输入以下内容:

../configure --host=arm-linux-gnueabihf --prefix=$OPENCV_3THPARTY_LIB --disable-assembly

make

sudo make install

这里重新生成了以下Makefile,注意最后安装需要加sudo获取权限

运行它

4、交叉编译libpng

参考文章:https://blog.csdn.net/weixin_42489042/article/details/83027531

先解压

libpng不需要再自己configure出makefile文件了,在scripts文件夹下已经有makefile.linux文件,直接修改它就行,如果自己configure可能会遇到找不到zlib的问题

先把它拷贝到当前路径下,重命名为Makefile

用gedit编辑它

按住crtl+f搜索zlib,找到下面的语句,修改成你自己的路径,我这里直接用环境变量

修改前


修改后

再找到prefix,把它修改成你想输出的路径

修改前


修改成你自己的输出路径

再找到CC

修改前


修改成你自己的交叉编译器

在shell中输入编译安装命令

make

make install

5、交叉编译x264

解压:

输入:

CC=arm-linux-gnueabihf-gcc ../configure --host=arm-linux --prefix=$OPENCV_3THPARTY_LIB --enable-shared --disable-asm

make

sudo make install

运行

6、交叉编译jpegsrc

同理,这次的脚本是

../configure --prefix=$OPENCV_3THPARTY_LIB CC=arm-linux-gnueabihf-gcc --host=arm-linux-gnueabihf

make

make install

7、交叉编译mmjpeg

同理,这次的脚本是:

../configure --prefix=$OPENCV_3THPARTY_LIB --enable-shared --disable-static --enable-gpl --enable-cross-compile --arch=arm --disable-stripping --target-os=linux --enable-libx264 --enable-libxvid --cc=arm-linux-gnueabihf-gcc --enable-swscale --extra-ldflags=-L$OPENCV_3THPARTY_LIB/lib --extra-cflags=-I$OPENCV_3THPARTY_LIB/include

make&&make install

最后打开环境变量指定的目录,瞧一瞧

所有依赖库都在这里,随便看一个libjpeg.so.9.4.0,可以看到是32位arm属性

到这里,所有依赖已经交叉编译完成,撒花!!!

tips

交叉编译时不要一昧复制,脚本中的--perfix和--host以及定义CC都是需要按照自己的需求修改的

每次./configure之后生成的Makefile都最好去查看一下是不是用了自己定义的交叉编译器

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容