|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 mytomorrow 于 2019-7-16 14:27 编辑
5 k' p) e+ {, H/ a" G0 m' {' K* Q; D+ W& |# F0 A
ARM-oe-linux-gnueabi-gcc编译opencv3.1.0, I$ I! r- r/ j* S( o# k
) \- `$ _* G3 f
* o7 ]# w( P9 E4 F% i/ n. U" T9 l0 \Cmake的安装
* v: F% j9 f/ o4 \0 B' i( u+ D5 P; [: S- c% C8 c2 J+ }
2 `- B* B! ]! y" Q: SOpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。
$ q* o/ p7 e5 H: f( P, d; W; |2 Y, X0 \. R0 M
! M3 V2 b( c4 P$ vubuntu下安装cmake比较简单,; b8 ?. W1 d$ b% P3 S. r6 X
. c6 i+ ^% j5 g. h5 I# f
6 ~9 B" _' c0 U9 K( ]apt-get install cmake
8 L# q6 J" }4 d0 I0 G8 e
& T* A5 L6 l% }: e- ~$ i% {0 @& q
如果觉得自带的版本不符合要求,可以下载安装包。
1 ^' r- S4 H$ k, Q3 F+ D4 u. v3 ?7 O3 A
' o* r( Y- Y N( |7 S5 T! c0 O下载最新版的安装包:
7 D0 G3 w8 ]8 n- \& k! H# l6 S1 X+ j; o% l/ Z
0 o' z. j9 [, F. p% I
www.cmake.org/cmake/resources/software.html5 B: e. c, y: T, E, Y2 m4 Q; Y
$ ]) f% D. B" O
: R. `1 Q( U2 q" I/ J" E
这里下载已经编译好的,这样只需要解压至需要的目录下即可使用:# K- n- H8 l5 ]/ I0 ^+ f
! Z& ~3 h R, }% }/ N- |
) a; ^: ?* e9 btar zxvf cmake-2.8.10.2-Linux-i386.tar.gz –C /usr/local/
6 w! a) n" f, n7 a5 g E* j4 j
5 X7 | v- H( {& s# h& d
3 }6 z1 `, ]7 I w% o+ ~设置环境变量:% n( M- t" v1 r* y, N9 b
* ~4 Z1 w, B. S4 S" I! v
5 k4 s1 d7 p" Z
sudo gedit /home/emouse/.bashrc
2 e: V0 ]# ~4 l2 M p
8 Q4 a9 a6 P( h' H
3 q% J1 I5 V) b8 v) C' N在打开的文件后添加:% T$ f( U: A9 z& c4 t5 o- i
8 o N: c: J# G8 F2 `: F
) Z, x7 V, v- i4 a5 jexport PATH=$PATH:/usr/local/cmake-2.8.10.2-Linux-i386/bin
1 P4 o; `4 ?* A% v# A: n, m ~/ G
' G. s; e6 A4 y% h1 u查看版本,测试是否安装成功:9 a; v0 @& X+ p# `: r5 |5 }" e
q" G: g0 b9 x! g$ J- t, @ n3 F# r; X+ ]7 \( h# V7 N# ?1 R
root@emouse:/home# cmake --version $ I) D7 ~1 _4 O) E( `; R
. t" n( @. r7 P" |
0 q3 ^: q& K2 L0 |7 y4 F, i; S8 ROpenCV 的交叉编译
( f2 H8 E0 o& ~9 j
5 Z6 [' \$ Q+ W% H
9 i, x: }0 r- _/ x' }+ \9 s K解压OpenCV压缩文件,得到文件夹。
- m3 E1 f5 G K$ k9 l+ n0 h) c: z5 _# y
+ k& `" n( a C3 |6 n#cmake-gui 打开cmake的gui界面,开始进行配置,配置过程如下图所示:
6 T" n5 y4 h8 @
' f6 M. }$ G" e6 d8 C
! m9 [+ z; r9 h/ z( V1 p首先电脑得先安装arm-linux的交叉编译环境,这里就不介绍这个了,直接说重点。
) d: `' K* _# k9 e+ y# R5 }! H' f" Q) W
( t; B8 x: H9 o n8 T
方法一(编译通过):4 J% y; @5 ~3 V; E- ?( E
& l7 {. U) b: ]& r- s( Q
( ~4 c$ D d! t- q$ z/ M1、在终端窗口输入sudo apt-get install cmake-qt-gui下载cmake图形界面' k' R0 P. c7 I2 n9 c4 J
6 u5 M9 X- D7 x* O6 l7 L
9 c( B) o( q ]' Y, b" H1 [2、安装好后在终端窗口输入cmake-gui打开cmake的gui界面8 o1 r; |4 Z+ \# t" N( D H
7 X) ?% p" }& g( N
8 g" v5 n3 K) d; X6 d0 T' B
$ e3 a# V3 v" e6 r
% _& N/ p# }% T- y& d. h) Q3 d
: w' f ]! z' L3.在“where is the source code”中填入电脑中opencv源码的位置,“where to build the binaries”填入生成make编译文件的位置,然后点击configure按钮,选择最后一项
3 G1 u) `! U0 `4 \5 w2 Y. l5 } X) W% S9 V$ N" a8 k4 {
/ C% @) X4 z4 w* o+ Q' M7 A" w
4 F2 o3 |+ t* O0 I# e# r" I
' p/ Z4 {! E0 I6 l
9 r, Y( v* |2 P/ K+ I$ i6 _4.点击NEXT再跳出的界面中做如下设置
" g2 G" g( d8 Y |- L" T- w$ C1 X" g$ F+ k, T
) j T) d0 L8 O+ Q- E
Operating System 选择目标系统arm-linux3 \9 r0 T1 r! ]9 e
+ Z. d# ~4 J$ H& n$ t- d$ A% P7 G3 K- u% P$ f6 a) N
Compilers中选择交叉编译器的gcc和g++
/ F9 f7 ^) j8 _; ]* J- C) a
" c3 v5 t S3 t4 {6 }, K" a
- i' `3 U: C% e( i1 z这里注意选择用什么编译,根据不同的编译选择编译命令的路径。 v: ~. t/ j$ d; r7 _$ j/ i8 N4 J
D$ l% ~ b+ m
/ S$ b' i' H2 Q% ~3 w, y! ~我是使用的arm-oe-linux-gnueabi来编译,找到编译器的安装路径:/usr/local/oecore-i586/sysroots/i586-oESDk-linux/usr/bin/cortexa9hf-vfp-neon-oe-linux-gnueabi/. x6 H* s# H: e" U! R/ I
8 |) k- i# j: L/ a4 ^8 `( ~
9 ]$ v# W$ a! f6 Q ogcc:/usr/local/oecore-i586/sysroots/i586-oesdk-linux/usr/bin/cortexa9hf-vfp-neon-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc6 d: g+ i" x2 B
; r6 m- C* B! n
( D( f% p4 k7 ~/ S# U% h" G6 Bg++:/usr/local/oecore-i586/sysroots/i586-oesdk-linux/usr/bin/cortexa9hf-vfp-neon-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++/ A( I( c' ~3 X! u _% h# i7 C
% G, j+ e' z. h
/ N7 ?0 X" s- K5 m! }1 P0 t" w
2 S& Q' O: Q; C: ?" ^$ w
, l8 n$ I2 J) i% X$ \/ U( [! c% u ~0 s
|
|