|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 7 b) W+ h, K& \) h; \5 }
4 n O. t! M! V( e( d
我用的ubuntu16.04的64位的系统
: Q8 n4 T: E8 F' H6 K# I3 j+ N" I7 z/ p* J; I; K1 a6 m8 {+ \
我的用户名是arm8 I, y! ]9 V9 \: w6 X
我只用qt做一个无界面的软件开发,所以不用移植tslib。% y* K; p' d- H) N" r
sudo apt install gcc c1 t5 b% Y4 U3 M, [" i! O
[; J0 e- X, `7 N首先安装 arm-none-linux-gnueabi-gcc
0 C" b7 |) M o将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
4 f% j" n y V0 A拷贝到主目录下面; e! Q1 X* r R6 q" N( ~
然后解压到此处。arm-2009q1; M/ P9 B; s5 p* R! f! \, r; T) t
最后,修改/etc/profile在最后添加上。7 K+ t$ |2 A7 u6 a# \ }
export PATH=$PATH:/home/arm/arm-2009q1/bin* A( }8 a3 O, Q) M+ @1 S
' _7 V, H; j: P6 f! V( w) C5 _运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
6 U6 K8 a" J* D% W7 X! Y) Esudo apt-get install lib32ncurses5 7 [7 [& }' q6 u; J
sudo apt-get install lib32z1
$ ~0 @$ A/ b, Y( f. s
" o9 w r/ A( y. w1 W6 r2 s+ c+ ^, a8 s) E: ]2 `( y1 I) B
现在 交叉编译器已经可以编译简单的c代码了。
. ]! ]% S" v2 S% E) N- q下面我来搞qt arm linux的移植。" _8 a! ~* ^$ h
4 s0 i# c) {2 z% Q0 {* T下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
9 H, ~; @# {6 T: r* Bsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool0 \6 c( e, o' m, X4 j" }* G/ T( `
% j4 D6 y/ S/ P7 A) C5 ]' T& A5 j解压qt-everywhere-opensource-src-4.8.3% m2 p" d9 h' Q5 J
到它的目录下面。8 b1 P9 e# ~+ S' H; X$ N
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
) j( J/ i% o+ f+ {% ?sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 0 C: O2 X7 d; s8 a
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-arm-4.8.3 -embedded arm -xplatform qws/linux-omapl138-g++ -no-webkit -qt-libtiff -qt-libmng -no-neon -qtlibinfix E, n9 c# f0 B M% p; i. c! S3 Y* d
make -j8 && make install6 ~3 G; V, c) ~1 ?
arm版的就完成了。
3 ?( R( [$ g2 d' _然后再解压一次qt-everywhere-opensource-src-4.8.3
4 e4 a% k9 \7 Kecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle# W: p8 r5 S: b0 b
make -j8 && make install
, P: d3 `, G% E
2 u& J$ c" a0 d. [4 `0 b+ b, L: U4 @( T9 J
配置完成qt-creator
8 {- ^/ ^( Q9 v% i h' u' j3 G" H; F! U3 ~5 t( S
新建了一个项目7 V: J) ~/ B5 l
调试发现,x86版本的 发布软件没问题7 ?3 F/ O+ R4 s% B9 I' Z$ R
7 e" i9 Z! t; a- z* t% V: L忽略到所有的,可以进入断点: Y* W% O; f5 {2 j1 I
然后在发布arm版时3 {; p6 X" i/ P# F
2 L% Y" w: H! o# L
% h4 B! s0 k5 P( r( P- W2 B
然后我就醉了
* s7 a0 X# D/ ^2 ]
- Q+ }9 Z0 W8 D' r' |# A4 f后来,我又装了一个ubuntu16.04的32位系统
) @' x7 L" B: S# E; `0 C% L/ I出来的效果也跟以上的结果一样* J2 @& t; }) k* Z; H% @* [( c
sudo apt-get install libxtst-dev
) Z ?/ Q7 C8 }; |. y# u4 q' Wecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
. X% J `) k6 q* b9 O. c+ o3 Emake -j8 && make install$ X$ b0 P0 o& f" a* }
9 ^4 f* Z5 L" { ?0 O6 Y
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
. U5 ?3 M" r" {) M# psed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf % U# F2 {- w; g8 D7 E
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-arm-4.8.3 -embedded arm -xplatform qws/linux-omapl138-g++ -no-webkit -qt-libtiff -qt-libmng -no-neon -qtlibinfix E
$ T. [ _: K/ D% v' d9 N* B8 ^( umake -j8 && make install c f/ B+ t7 Z( R5 m6 X6 m
9 d6 e3 e. q# s2 q% D9 B( L! e
1 a( o' `* k+ A( n! N/ E* ]
* j o. ~9 l v+ @0 d. l
. A; S2 u+ E0 m. o/ j7 |1 J! r
- N( Z. m( o$ h& H/ @) g+ h |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|