|
|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 ( @2 S& H0 ]( @3 B g) h5 q0 Z
3 b9 y- h }( G7 ]1 K2 s
我用的ubuntu16.04的64位的系统" p& B: h; Z1 M+ u9 O6 [
+ ^ L3 K% X# i& W2 x" j/ g- W我的用户名是arm1 j% h2 }! G: G+ w% f; S
我只用qt做一个无界面的软件开发,所以不用移植tslib。( @" a( v- U5 x3 n; {: T5 B+ ?% w/ c
sudo apt install gcc5 N- I5 j8 ]: i
( Q% ?8 k2 n" Y& n首先安装 arm-none-linux-gnueabi-gcc
( W5 S' R9 X& Q6 d将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2* X" c! ~( E7 \8 e
拷贝到主目录下面
, U& q- u5 m( \* w/ @' N- v4 P- u然后解压到此处。arm-2009q1/ w. Z# A* M# l: T7 P7 v) Y- a
最后,修改/etc/profile在最后添加上。
' C6 Q7 H7 K# b7 L+ sexport PATH=$PATH:/home/arm/arm-2009q1/bin& A0 J0 ^) T: U& q: |
! [3 k5 f8 h0 e) i
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
+ C/ F; I) G1 asudo apt-get install lib32ncurses5
! X1 r9 S& c; P: C8 o! k/ ssudo apt-get install lib32z1& ` \( I+ d% ^+ W/ ?2 j' Q* l, R( I
" m; Q9 `; [" w
3 G/ X# _' g# S- u' k& I! r+ X现在 交叉编译器已经可以编译简单的c代码了。8 C2 W% z) b' Z/ L) \
下面我来搞qt arm linux的移植。( ?8 M" }* ] H7 C7 f
( L+ c: E( \ j( w9 z6 }& ?8 M
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要, Z% x, L6 L) d- a" Q
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
. Y/ R3 ?/ N# Q0 V" ?& G7 F1 D0 j
: O, v% f) u5 |0 C- ], w R; B解压qt-everywhere-opensource-src-4.8.3
& @# o# S% L3 I. X- \$ X6 q6 Y到它的目录下面。; e# J& ~" R+ k5 O. e: c+ x+ ^! T
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
: S+ v; K" v4 s& l+ E L7 ised -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf ) S# n0 C; f9 ~2 A5 X
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
0 X( q. }. j; ^make -j8 && make install
% ?* p. L7 _7 T# k5 Y7 u& G X3 { Barm版的就完成了。9 g2 R5 M/ n. S4 e- a! l
然后再解压一次qt-everywhere-opensource-src-4.8.3) X: _: K3 i8 T L7 A6 F
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle% H: R9 M! F# m4 |. p
make -j8 && make install! P; R) b! R7 w+ Y$ ]0 m q
# ^8 x! U# E6 t4 X4 h: Q) q; A& O
配置完成qt-creator, q. @" b6 }* \; T6 U
3 J% X3 ]8 F! s* Y+ u; t新建了一个项目3 _( x: F; s( n. y) m1 Y _
调试发现,x86版本的 发布软件没问题 I8 ^, @4 ]5 A, b( Z, i* A
4 s) M) a! n) U4 U
忽略到所有的,可以进入断点' O4 Y, r, f2 ^$ P& P) j9 Z$ J5 a! \! |
然后在发布arm版时$ f0 N0 B. U. L7 R/ ^
5 e& f& I& }, {3 [; |( e6 A0 A
- j# Y W% u. i3 g6 y* y9 e然后我就醉了
0 c7 S5 i. l1 j" u! \7 z9 P, D+ b$ U. p+ x5 q/ \, r
后来,我又装了一个ubuntu16.04的32位系统$ X9 ^. e; c. G* [* d m
出来的效果也跟以上的结果一样
4 _9 R: ]3 S! \$ [sudo apt-get install libxtst-dev
* @$ E# G# j2 k5 cecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle- X {- y( F' f6 N9 N
make -j8 && make install
/ t8 Q3 Q' g- i' s1 Z8 m! A a$ |
# S! f D: I( j- d" Y7 Qcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ & G0 e) o& N# a6 Q" B" Z" ~" _
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf $ j* g: b3 D. ]8 x. w+ B
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
0 e( X# |! V5 |, Y+ d( Cmake -j8 && make install
S I7 ~# A: e1 Q2 N. ]8 L0 X. g- W0 P3 c
; q* E( x4 |2 }
+ P* b4 x) Q3 F" s% {
) A$ h; Q& i; ?, n" ^
) p; r6 G7 m. a, g# f9 L* n |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|