|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
* E) c7 A+ K2 i+ C! J) x9 u5 i! D9 ?. ~9 c
我用的ubuntu16.04的64位的系统/ ^; _0 m; ~ J- J% ], O5 p
# h( p6 e$ C" _5 o3 n
我的用户名是arm
; v7 n$ @/ I* l; j7 H; G5 o! p% Y我只用qt做一个无界面的软件开发,所以不用移植tslib。
0 z1 U( j1 ~. `: Csudo apt install gcc* M0 [) a* v2 a, F
1 ?4 I+ W6 Y' Z$ I; n
首先安装 arm-none-linux-gnueabi-gcc
2 x4 J+ k0 s! Q' m2 t将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2. `. g6 Q* e0 k! Y
拷贝到主目录下面3 N& A& h4 A9 G! c
然后解压到此处。arm-2009q1
5 L- z& w: ?5 Y2 N$ `最后,修改/etc/profile在最后添加上。% B6 h4 r8 n( b. U
export PATH=$PATH:/home/arm/arm-2009q1/bin+ ^6 Q' z8 b0 O6 c. N* z$ {
) M- o" ]% s3 b/ [2 d运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
7 C1 [6 L/ B5 ~- vsudo apt-get install lib32ncurses5
1 n! g5 @& k- M' W" ~sudo apt-get install lib32z1
- h$ M; W# M" i( p( i8 I, }8 e6 Q+ A- R. x. M( x! f( Z
& V) O8 n! x4 R' y$ Y B P
现在 交叉编译器已经可以编译简单的c代码了。) `, Y8 \- i5 i" X! F
下面我来搞qt arm linux的移植。" B# o9 D1 ^6 W& l. i
' t v4 k* i0 `0 P: a2 w: H下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要; c9 S* v c7 V
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
J. y8 i- x1 t) z9 @. F+ C( N- J9 c2 x- C/ t) R6 F; A
解压qt-everywhere-opensource-src-4.8.37 R+ e5 q' I- a* B3 }+ g
到它的目录下面。( j+ K- T: y A# E: D
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
* @6 Y4 i- {+ x5 T% D4 Psed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf / V/ x P0 r. I+ Q9 Q
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 E9 t/ [; @5 T0 J& E3 L# e0 H& b
make -j8 && make install
; q& @, a/ c! z5 n- C8 z2 Marm版的就完成了。
2 @7 i+ h, Y$ @" w2 M然后再解压一次qt-everywhere-opensource-src-4.8.3
% U5 ^8 q/ I) Pecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle; e6 o, l) d$ K3 W
make -j8 && make install$ m# R0 L8 x3 H
1 H5 `" V: D. A x, G9 y8 E: H+ z1 @: y! o
配置完成qt-creator) k1 a& `! j3 W' m$ A* E2 }
# a% E% Z2 }9 ?2 Z新建了一个项目9 i7 j. T4 b2 M1 o
调试发现,x86版本的 发布软件没问题/ u; @3 |2 d0 k! @* @- u( Q
$ s! x2 c3 K( f3 M/ P% d# X
忽略到所有的,可以进入断点# i, P) Y; d Y) L
然后在发布arm版时9 [9 Q& I( h6 Q2 a$ N
) u% R; L. \' \3 _* _
0 x. i/ ?4 ~+ K0 O" L" Q然后我就醉了
3 w x5 ^; x, B, X# m( C: N- l6 q- [9 i7 U
后来,我又装了一个ubuntu16.04的32位系统
" K% M, ?3 I; Z+ ^& C- S出来的效果也跟以上的结果一样$ d( X; ~8 o/ }6 D+ H' D
sudo apt-get install libxtst-dev
+ V! R9 v( K m3 mecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle+ a/ z/ N4 u5 J$ W* G& X$ \
make -j8 && make install$ f6 ~+ o) v0 ]2 A O
6 U) w- E8 L' o" x4 |2 T6 t
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
( ]+ \* k0 W( j, }sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 3 f8 X( ` @1 q8 [8 v
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- q d& a1 G# R! x! [+ i
make -j8 && make install
+ o- m7 m& g! V3 q$ N( c
' n' {8 |" Q' C4 t& |7 Q( m0 \2 W
$ ^1 C+ t5 t" [* {- p* z- g- K( G7 Q$ K$ K) k+ O& w4 T; \- t
j+ K" N. @; E6 n |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|