|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 / v0 U, Z' P& x) k# {
y# R+ Y$ T( Q2 p6 S
我用的ubuntu16.04的64位的系统
* M* V0 e* A" Q5 ]: k- `3 Y# a3 D* \; n4 S
我的用户名是arm
6 X0 n3 W8 ]# {& C我只用qt做一个无界面的软件开发,所以不用移植tslib。$ @, O( D- P, b3 y+ U$ m; S9 z& A
sudo apt install gcc$ X1 e" W9 d* t) i1 `% O) l
& x8 i _+ ~& @7 D4 Y
首先安装 arm-none-linux-gnueabi-gcc* R$ [& v5 ]# Y9 _" ?+ }
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz25 H1 T, h7 q' D' |8 h$ U8 p. K
拷贝到主目录下面
( D; g" u( ?, _ k- i5 F' W然后解压到此处。arm-2009q1- _- G; }1 n' j7 D+ K3 }
最后,修改/etc/profile在最后添加上。" m8 k$ w9 x) }- \! p/ p5 ]( [; |
export PATH=$PATH:/home/arm/arm-2009q1/bin
# \- {+ U9 s0 n- R: l& A% O5 Q, F
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
% z3 d5 h% O' J) L' G0 Qsudo apt-get install lib32ncurses5
+ e* I0 c6 i5 G0 D0 ~' u6 g9 ]sudo apt-get install lib32z1; s1 P! G) F6 l$ {: t. f. [
3 g! j" q( }0 Y G5 [6 u+ ]2 C) N
8 P! W4 _& F- N现在 交叉编译器已经可以编译简单的c代码了。
# b7 l3 M7 F8 `下面我来搞qt arm linux的移植。1 c/ l& Q" h5 h
* [+ |+ ~: Q0 i3 {1 O% p B% Y) p下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
& v' o- S0 c! f; w- O5 _sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool4 W& W5 P' p9 o+ D1 |" Q- y
& Z1 s- G' X# D3 L& G
解压qt-everywhere-opensource-src-4.8.3& w/ |9 e- i* v
到它的目录下面。
# P5 D# g( @! K, v9 Kcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
9 [/ ~9 y+ ^2 X+ z- U p4 E. ^sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
) l. k# i: ?. l" Mecho -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" n/ {! [2 L8 _9 Q: m; c2 Q
make -j8 && make install& m/ d2 L! f5 X
arm版的就完成了。4 U) z5 i" P& q" \) @
然后再解压一次qt-everywhere-opensource-src-4.8.3
3 Z+ H1 t: R! X$ _9 c( techo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
$ |6 x7 }( R6 n+ V; Ymake -j8 && make install
5 R7 _# V* a) B4 |7 l4 o% o
2 ^: h# a9 L" M. @1 ?3 y
7 X. n: J2 Z, A! Q$ J配置完成qt-creator- J0 ^9 ?, b" l, X9 L3 N
- M, G8 F' U0 |6 o
新建了一个项目8 G3 s+ E+ {3 u
调试发现,x86版本的 发布软件没问题, V7 z+ i5 R. m* W
4 _1 b% k' p5 ?0 q5 M, S忽略到所有的,可以进入断点
1 T" y k/ H+ _. @- M然后在发布arm版时" O# J/ A9 P" O/ R; U
. |( h* j: @+ {' y, r
- M! V" M/ j: C然后我就醉了
8 z! ]5 V# M0 D0 o
0 v1 M& t {& K. a& L后来,我又装了一个ubuntu16.04的32位系统
# I% o: o8 v& D6 [" _# G" }8 R6 Y出来的效果也跟以上的结果一样
4 I( K0 X) R {9 Qsudo apt-get install libxtst-dev P5 K3 D- D: W/ U+ y: D# G% C
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle+ j* ` B2 t2 G7 v
make -j8 && make install
5 @, ?, \3 v9 b4 ~8 }
% ^% q5 p0 E* g) ocp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
0 v4 m7 M$ i9 Osed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf ! r' P! c- \* `+ J9 h3 V: d
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
+ Z( R2 i, t$ d9 h! L( xmake -j8 && make install
B$ l. K# _5 s( n, Y" ^
. e" K7 R. K1 ^4 `9 @' I: c: r; w; p3 R
; D! h& j' T; u5 i% a
V6 G+ ~) F7 ]0 B
0 \ y) J; Z) c |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|