|
|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
% O2 J7 a9 g+ ^/ j; v c! e) ]& u$ f( f& c4 N
我用的ubuntu16.04的64位的系统. @3 D) [! a8 y) f. Q$ \
+ V+ B9 `* T3 D- n) Q4 ^- Z0 t
我的用户名是arm
/ ^" t3 z3 X- L+ k' r0 q, ^& Q我只用qt做一个无界面的软件开发,所以不用移植tslib。
9 q' v! c/ c6 z, x- Hsudo apt install gcc
0 |6 o: G V6 S) J* q5 L/ E$ V. ` s2 c e. p
首先安装 arm-none-linux-gnueabi-gcc; u- T. E3 R9 ?( \
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
7 \# l; U8 j1 g# `/ N拷贝到主目录下面: V$ }, l j3 A$ h7 x% h8 }. |% c
然后解压到此处。arm-2009q1
8 C5 j) r5 _$ H4 M) ]# }: ]最后,修改/etc/profile在最后添加上。
1 [- ~7 M5 ~# O* Sexport PATH=$PATH:/home/arm/arm-2009q1/bin
5 E; R6 ]% x' X* b8 T8 r+ {5 ]+ y, Q, @9 H) q
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库6 p" u0 G& Z+ j* c) v: {
sudo apt-get install lib32ncurses5 " h8 O* m* C% v
sudo apt-get install lib32z13 A: F) }5 s' O1 w
7 D9 m6 U1 [/ |; M+ | a: x4 F. p4 Q- \: {7 _* C- A
现在 交叉编译器已经可以编译简单的c代码了。
* F) ]- w5 U z! i7 E0 w下面我来搞qt arm linux的移植。& H4 A) L+ u0 J, K. ~0 r
" X" g1 S7 P9 @4 a) B下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要& c5 I3 }$ q9 B M3 v
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
& P4 D# ^, ], O9 A, A9 B1 l, t3 |) [0 g! `$ o: ]+ [, A4 p1 |
解压qt-everywhere-opensource-src-4.8.30 O1 A) z# z$ ?- S
到它的目录下面。
- F& P: x& D6 M wcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
) h9 L, \' Z5 S( bsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 3 i# x1 W# F1 Q% L- u2 e/ p
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
* _* X. z8 }; k5 zmake -j8 && make install( m4 x% }3 U: h" U3 C. e0 \7 ]5 }
arm版的就完成了。/ D: \" j X0 F/ ~8 _! H1 \+ g
然后再解压一次qt-everywhere-opensource-src-4.8.37 Z. V# V4 g3 ?+ V
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle% x4 G2 t3 F8 q1 Y: m1 B! ~' o
make -j8 && make install7 h9 `9 t7 i/ N3 L
$ l; s2 f" V) V m4 R; W
\6 p2 ]0 g" Z! ~0 @( }" X配置完成qt-creator
# `0 e& F% X; U1 w) q7 w& k* P1 Y/ h& L8 Y1 a( x
新建了一个项目
7 R* v- F5 U! b5 a& E8 g; G$ t调试发现,x86版本的 发布软件没问题! ^: e- A2 u2 K, a2 z. H5 V0 ~
& \+ p! e* s- y: ], r
忽略到所有的,可以进入断点3 g, f8 C; t+ p g0 Y- P% c" o
然后在发布arm版时9 R6 c3 k3 ~8 Q7 n, w9 O9 {; N# s. b
' o0 ^ p" Z) E9 G" n+ H
. e+ j0 B* r6 C' h- z* P6 L然后我就醉了; H- }7 P2 f/ ^8 s) C! N
; {3 r1 [% X& ^- {: q' x
后来,我又装了一个ubuntu16.04的32位系统. i" V+ y8 b. C1 ?" j0 A
出来的效果也跟以上的结果一样# F% P6 [$ T# T7 n
sudo apt-get install libxtst-dev) s, T6 W, ?) T* e x. ?8 u& w
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle, _$ Z7 ~3 d3 }- N" N% ]5 p9 S& K0 v
make -j8 && make install
1 V" i. L; C7 G8 W, z$ z& b9 n6 h \# o
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
* m3 Z! ~0 G% `5 Ssed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
) ~3 z2 L3 P" E# \$ x8 xecho -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" h5 Y5 ~9 J. g! t; n6 }
make -j8 && make install
" ~) m5 v& u8 ~9 @# _- J9 R: w. U z& e% q2 {& Q% w
" X4 u! [: j5 B- F/ r: u6 @
: R4 x3 f+ J% x9 d$ Z& m5 C# d
6 P' {, T' `5 b+ R6 u4 y# y
# {+ m3 @2 A# |" {' C |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|