|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 % r" k) k( F" _0 a: e
% F8 d$ L# F. n6 ?. E& l我用的ubuntu16.04的64位的系统
( [. E% ~; ^) D, }6 V- g s7 ]6 C' ]
我的用户名是arm
. i, c& }& c/ ^* n我只用qt做一个无界面的软件开发,所以不用移植tslib。! h- I" ~8 ?! y- P
sudo apt install gcc
1 B% P+ S7 x! \
. ]7 u+ F2 Q" [: J3 d首先安装 arm-none-linux-gnueabi-gcc
8 H# o% p8 i% m$ v0 I8 [将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz25 u+ e! t K- e P2 \
拷贝到主目录下面3 c, P, S/ w( e7 ]3 O
然后解压到此处。arm-2009q1
0 \( U* Y; {+ w9 m( Y* q* @7 G最后,修改/etc/profile在最后添加上。6 `/ X0 U5 e1 r9 k
export PATH=$PATH:/home/arm/arm-2009q1/bin
! X8 S1 v+ e4 `# {4 j5 I1 [
1 Y1 N% N, J7 V. d: u) E6 f: w2 G运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库2 {# H2 K/ D$ z1 u2 Z4 \. f
sudo apt-get install lib32ncurses5 $ y$ X) z3 t* ?: l+ b
sudo apt-get install lib32z11 L C" c* ]% u( X" a+ Q
" n1 n& W& g& G: H. G; A& N# S( l# I. J2 g; H
现在 交叉编译器已经可以编译简单的c代码了。
# q0 D7 ?+ Z8 V; c6 P, e, T; ?下面我来搞qt arm linux的移植。
* P. f0 k, \0 R+ r6 m& R: S7 m" w7 Q+ n- L: Z( U( Q' i0 B
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要4 A* m( O% l1 U& ?+ e- P
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
6 x" S( I; _& \" F
! _$ C. y2 k( n2 v7 T" A& B2 @) @解压qt-everywhere-opensource-src-4.8.30 j) |# q- _$ @% D! W4 ~" n
到它的目录下面。
! w: A+ I4 M$ d* b7 T! F9 Z& Wcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ & ` r" z% i0 Y* J5 y
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
2 Q7 E' |) i1 t6 c3 lecho -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* s' M) x% Y x/ N& l+ e% y7 z
make -j8 && make install4 d4 e( V3 |& T: x! H( r
arm版的就完成了。/ S$ m4 \9 j ?. @7 y' V+ @ u
然后再解压一次qt-everywhere-opensource-src-4.8.3
! o5 C% ]7 ~3 G8 N# \9 Becho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
/ l; S' Q+ Z- F# O4 ymake -j8 && make install1 I+ K+ w: Z- c; }' ~
9 g6 o R( f( m! t0 ?! z- D7 n" m! c" m% V) u( n
配置完成qt-creator
' G5 ~. O$ L( {4 I) b y; w1 t. ^: O3 ~8 \ q/ D
新建了一个项目
& ^0 ]' p& d/ ~% z6 M1 F5 ]( ?调试发现,x86版本的 发布软件没问题3 x* |; g2 b5 C) _+ k5 J
- t! n" x/ r, P" t! J0 F6 L忽略到所有的,可以进入断点0 |6 \# g4 O. e/ l) {3 R
然后在发布arm版时
$ c+ D- g+ k# u% G i- x" G
) J* ]% Q" J& a8 [
$ V3 I- G" W) d- k$ k9 O( d1 ?然后我就醉了( @( a( h8 y1 X+ ^; U0 w7 u. l
4 k! d$ i( [; Q- l5 T( J- M5 N/ C
后来,我又装了一个ubuntu16.04的32位系统
3 Q- C- F s* O) E出来的效果也跟以上的结果一样
, j& s5 B5 l9 h# y3 O" Dsudo apt-get install libxtst-dev
* l# r5 u/ [% F1 v# ~. Y5 e8 x8 eecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle' J: c4 s* J% o$ g
make -j8 && make install
4 H* W5 ]' l6 k! W x
6 m9 L% q3 o8 ?& M3 _( Wcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
: p- o1 x& N/ w. I7 |6 N8 a+ b% @" ksed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf : ^$ c2 _0 |& C1 X6 O! a
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
3 B, L* h& O) L6 @# `& A, ]5 qmake -j8 && make install% u3 z2 B6 Q& B; |( G- F
+ `8 w" }4 _4 F# p9 O: Y; u4 A5 i6 Y: Q7 v# [1 }; Z
2 W) V7 T. N$ r3 ~' o4 A% v) Z
, Y Z( ]" e% ]! e' I! s. p( {9 t6 R7 O
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|