|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 mytomorrow 于 2019-7-16 14:27 编辑
% H L1 R" K1 d$ F# o* B& _8 r, }( W1 i. Y4 w! e
ARM-oe-linux-gnueabi-gcc编译opencv3.1.0. r8 W, J7 r: l$ j5 T" Q; B" h, M
' B9 ^' v& J5 F6 h! ], J4 b' o* j( w+ [/ ]* j2 s: q6 Q0 x
Cmake的安装
3 ?3 K+ W* Q9 T6 h- b4 @- [. L. A; b+ N- p0 R, e9 \! o
/ V& H+ f- j; z( G+ c1 ~OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。
5 Q/ E* J, Z8 o* B0 D1 W) Z
" {0 S9 V) H, e; n1 S
! G/ g4 e0 u8 C9 x, _1 k/ y: Nubuntu下安装cmake比较简单,
: f4 ?$ H+ \, U+ S: ?( o( `4 g
. s0 b7 A5 Y; M; b/ t! C+ k3 E: X, v, V% u5 X4 G
apt-get install cmake) D1 R" Y# t& Y5 |1 l* H
" r5 ? Q. u6 a) @6 ^1 h' L- b/ [# l( z% T
如果觉得自带的版本不符合要求,可以下载安装包。0 t4 ]1 k1 ^" y+ i1 |) K
$ ~% u% ?6 r" r5 J4 G" \" J
$ u- m+ v! M+ q下载最新版的安装包:
% ]9 `& T) w& |1 V1 {& W/ s+ B9 G
& o5 r, Z0 ^: r, c4 }* Cwww.cmake.org/cmake/resources/software.html
$ x2 z1 Q3 W' `) J
! j( `3 L l- v- B7 W( `7 U
! d8 k* ?) `7 d0 f" ^9 S5 b这里下载已经编译好的,这样只需要解压至需要的目录下即可使用:
- v; R, W B% a$ m& p: p5 m; s% s g+ s' C+ o9 [
. \/ |( u# s. V7 k- T; dtar zxvf cmake-2.8.10.2-Linux-i386.tar.gz –C /usr/local/2 s% |9 {9 b2 f0 {' Q
% L/ S/ `4 b" v9 X; g6 N8 R
9 E7 _9 p1 {4 r# G2 K* P5 b+ O设置环境变量:
) H. c3 @: j+ A; A- _ ~5 `. F, C) a) d' k5 S+ b' b! d
- S; j4 q4 ?4 M) D% E/ Y; g0 H, p6 t
sudo gedit /home/emouse/.bashrc
8 p/ W: H2 ^! d" R( V( ~6 e. h( A! L& J' i0 A- t
3 e) u$ S; c, C( P& C
在打开的文件后添加:
% W1 G2 ~" ?! d7 p7 g; s5 s
( |0 _: A$ R7 o+ h4 ]. L& q& G1 x) P+ a! B" Y
export PATH=$PATH:/usr/local/cmake-2.8.10.2-Linux-i386/bin# J/ [* F0 Q8 g9 K; H
) b. ^6 q6 @+ X6 f# s
2 P r7 l' ^& k& m2 p$ m: i查看版本,测试是否安装成功:
5 g% `) J2 J$ ?+ j- ^3 `
D# g, ?8 n$ c1 V4 j) x
- t2 t% ?9 g# ]! s( c) }4 E9 d# C# proot@emouse:/home# cmake --version 8 V/ c% D- Q8 c1 c# ~2 S a
5 X3 F% {9 H! d) i5 q- B# I" w/ U, ^% b, O* ]. |5 S
OpenCV 的交叉编译/ x, |( o" k7 V% Z$ Q# S% T
% }' v) n6 q D: q9 S c# t
4 ]' w: l6 `5 }5 t, u2 w解压OpenCV压缩文件,得到文件夹。
, d! z7 u- y. d6 [5 R, y$ t. r& f6 ~2 l/ _/ ~- h: d) _3 E
" @$ l+ M4 _+ {* Z' {8 v) y9 Y/ b
#cmake-gui 打开cmake的gui界面,开始进行配置,配置过程如下图所示:; _$ t* t/ N0 D
$ l; e3 F, K( i y
9 f# c- H! ]' ?0 `2 I6 ~首先电脑得先安装arm-linux的交叉编译环境,这里就不介绍这个了,直接说重点。# r) Z% ]. Y# j% M
& L9 Y' N; w. r9 s3 R
- |/ W% p9 ]* I$ g* D3 L _方法一(编译通过):1 ~! F3 _4 y2 Z: W
# c- f9 U7 q9 I+ n x
' O: o! J# L4 k& a: `; j
1、在终端窗口输入sudo apt-get install cmake-qt-gui下载cmake图形界面$ n j0 s) e; d
# J0 K% q3 I y( J
; j! [0 k& G" k. t. o f8 I2、安装好后在终端窗口输入cmake-gui打开cmake的gui界面
( A# B4 D5 L; Z( N, l' t8 ~# R4 p( m
. u% y- {" m5 l2 Z1 T
& A2 N$ i' f% b( D/ D& j
& I/ ~8 s, S9 { I( v. e
( `1 Y9 ?. U' `/ v3.在“where is the source code”中填入电脑中opencv源码的位置,“where to build the binaries”填入生成make编译文件的位置,然后点击configure按钮,选择最后一项
6 M+ x7 `; _% N, t- Y( k7 x$ C3 \, m$ a) ]; j7 {$ _8 V
% D- F* c! k7 O) c ~
7 Q$ s9 q- E, ?& r! O) @0 J4 L# G, k3 Z! R/ ?2 p h2 F
$ [4 ]9 u; J6 i% M2 [: b8 J4.点击NEXT再跳出的界面中做如下设置
, a- k7 f$ k% b# f( K1 h, v+ S* B7 ~7 B9 v! a6 G2 k' T9 h
& f) D4 y3 y8 t7 I6 DOperating System 选择目标系统arm-linux& h; B/ M7 D( Z7 D$ d9 f+ l
5 n/ A5 t. h9 b2 G' a8 m6 Q. v8 ^
/ I/ X0 ^ _+ m& ]4 t: bCompilers中选择交叉编译器的gcc和g++5 a% j* J3 ~' G0 v$ Y8 q, ?# k
. c' C( B) ^$ V1 m {, _/ b
7 Z- z9 Y2 N$ a+ [7 d8 i" T这里注意选择用什么编译,根据不同的编译选择编译命令的路径。. x+ P& K4 v; Y* g$ M) B
, Y5 @; y/ h2 H4 \ I4 `0 u
' l* X8 T0 j, x- M2 _8 @; V7 I
我是使用的arm-oe-linux-gnueabi来编译,找到编译器的安装路径:/usr/local/oecore-i586/sysroots/i586-oESDk-linux/usr/bin/cortexa9hf-vfp-neon-oe-linux-gnueabi/
" e; I# W$ M1 M8 k8 [0 Z$ d
8 J& L0 T! T" P8 c! ]5 J* {0 J" B8 {% n9 T2 H# w
gcc:/usr/local/oecore-i586/sysroots/i586-oesdk-linux/usr/bin/cortexa9hf-vfp-neon-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc
, X. O3 l9 A* j: E4 D, g+ F; N2 l0 f# ]/ n' X
+ y! P: X$ ?6 v) w0 h; I6 {g++:/usr/local/oecore-i586/sysroots/i586-oesdk-linux/usr/bin/cortexa9hf-vfp-neon-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++
& M, d* y- _3 F: S
% u7 E' W! B$ \% i4 n) b& C8 ~, f# c: @3 O7 q4 U
3 R' e' L+ F. p( L4 W# _
/ {9 p/ e7 y& e
+ n& l: z+ ]& g9 x8 I1 H
|
|