|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
$ S- D, {+ b3 I# ?7 u( }! L1 R( x1 D! ~( ], I3 L
我用的ubuntu16.04的64位的系统
# w3 g0 X. L; n: K: L) q. F' M$ I. J- I E4 {# G$ w
我的用户名是arm
: }+ K, i3 c6 [4 @4 A, G7 u& V我只用qt做一个无界面的软件开发,所以不用移植tslib。9 p6 N+ Z6 Q! h) I, T K; B4 K1 u
sudo apt install gcc
0 h# C& c, p0 I: v+ P% Q
# E7 C$ S; I) @. q首先安装 arm-none-linux-gnueabi-gcc
* i5 W: g1 P' {" g将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2; B( A- ]* G1 `4 ~+ ]/ g5 b
拷贝到主目录下面
6 J3 h5 L0 p- b然后解压到此处。arm-2009q1
+ N1 B m3 [9 ^6 O+ i' B! O9 ^* Q最后,修改/etc/profile在最后添加上。
9 z$ W9 d3 v& x! c6 F5 w& Q9 ?export PATH=$PATH:/home/arm/arm-2009q1/bin
* P1 e9 q F9 y4 N
- E+ L* t3 I. m) q2 ^' s运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库! Z$ j# F( e) m; h: s- V/ W8 T
sudo apt-get install lib32ncurses5
, ~' S5 e, R4 P7 \/ O. I ssudo apt-get install lib32z12 B2 @" v8 P% m$ G( G$ Z j/ l8 @
; d; |( m, d1 T5 C- e
* K1 f) K4 o0 f9 r; t. b. `0 y: m
现在 交叉编译器已经可以编译简单的c代码了。
2 _8 z0 ~0 R9 V下面我来搞qt arm linux的移植。
$ }5 A" h* g" S. p+ f; p4 ^1 l" ?; P6 H$ X; k
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要 u/ G. t* c2 |% P
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool* }5 y" q! x- E) Q
! e2 S t3 A7 R
解压qt-everywhere-opensource-src-4.8.3
- ?/ k4 C6 d3 ^+ ^% o5 k到它的目录下面。9 Q2 W8 \6 ]- a) y Y; ~
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
: @0 G% d( H d# s, `7 Y5 S4 b0 K; msed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
3 u" ~* I( _9 w1 n# n$ i/ i% Wecho -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 E1 E' x. q/ z2 |3 y
make -j8 && make install+ ]; n& U+ s! j* E7 _6 ]
arm版的就完成了。
8 e1 q- C4 S- y然后再解压一次qt-everywhere-opensource-src-4.8.3) m: k2 O) }1 O+ m5 r, E7 s! y
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
# c% {2 H0 L1 M/ o% ]. r2 Hmake -j8 && make install
+ F; N N) H9 k/ i% c" w1 a* h: I' W+ k7 s
( D1 o0 A4 t- w, A, b
配置完成qt-creator
; S5 y( Q+ w# {, ~6 [4 E
$ P: t4 z7 e$ B3 {6 L# T新建了一个项目
" W4 R8 ^' \+ x: X" G: z! c; `调试发现,x86版本的 发布软件没问题
1 g" [: |- D$ @7 B/ `, j8 F" D# ^
_8 ^- S3 I9 n a* I忽略到所有的,可以进入断点# N3 K/ T1 g N* G/ p+ q
然后在发布arm版时
1 e, V' c4 J, p
/ K) M# e8 F1 l! P2 U0 {4 X9 [$ K
g' v) g& r6 _# B然后我就醉了, D! T9 \5 b2 k1 ~7 s! g5 Q' v' D4 o
! c5 J- n1 e/ n% J后来,我又装了一个ubuntu16.04的32位系统# F$ a- A+ X) [$ g7 ?
出来的效果也跟以上的结果一样
2 b" s1 q, q3 V- A3 usudo apt-get install libxtst-dev( A. {- Z n5 F
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle+ T# s/ Y J! k' M" `- l2 f
make -j8 && make install
/ R4 Z s9 m' g% L$ d9 p6 Q' d
" v4 O9 B, g: R2 n1 Mcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
! a+ E2 r; M1 f9 q6 |sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 0 I% r2 E7 P/ @1 |) n# \
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
( G) l* o0 M$ j5 f1 Qmake -j8 && make install
5 E" g6 P. i3 d. t" A0 Y4 X& B" X7 a5 ^+ B+ W* ^
, p4 m- H( t6 I3 g1 D$ i: N$ k
. {3 p" p0 n7 n% V% S
/ q2 ~! r8 r1 i# x
/ I" H& L1 ~, V9 X* ~% y S |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|