|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
* B( w3 _5 } V1 G1 g1 x% Y4 a1 e
; B( s9 k% Q4 q% N) Q! q/ b. E# g我用的ubuntu16.04的64位的系统- l e+ C$ N/ M
( U1 l. _( E. s( F3 f1 `
我的用户名是arm; G4 f0 x- M7 |9 r. B7 u
我只用qt做一个无界面的软件开发,所以不用移植tslib。9 }# t8 ^0 o8 [) b; B$ v
sudo apt install gcc
4 H- s" V% a a! @2 x- {: [' f
首先安装 arm-none-linux-gnueabi-gcc
8 A% a5 L) Q$ ]# O7 Q8 r2 g将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz22 b- Z4 n/ Q; W( q+ L
拷贝到主目录下面
+ W% V1 A7 @/ G! q! n C然后解压到此处。arm-2009q1
6 ^: s" i$ e" O4 R% S最后,修改/etc/profile在最后添加上。: Q! |) W' b& E: y' L7 ^ B
export PATH=$PATH:/home/arm/arm-2009q1/bin
& \' f) V; V7 s( u8 l0 J& n9 q+ O; V. Q' r o7 J' G
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
: D R- C( Q7 n k' |5 o" hsudo apt-get install lib32ncurses5 / y0 L% z% q( ^/ l9 o; b& h
sudo apt-get install lib32z1% P3 h% [; R6 l; U3 s
: J V4 h- Z. l& B9 l
& |) Y w! R) x0 s- J2 t" X
现在 交叉编译器已经可以编译简单的c代码了。
" q+ b: l5 a# [6 S- r9 v下面我来搞qt arm linux的移植。
$ L# i. E8 c( M/ e1 U2 y
- q9 A0 Y$ _4 ?# _下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
; {9 T1 ]: |* G$ tsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
1 ^& L* E- X& Q
# b/ ?# L+ P7 F) e1 Q( l: f% s0 q解压qt-everywhere-opensource-src-4.8.3 m7 k) w5 p8 k" K4 ^/ p
到它的目录下面。' x( N- G6 ?$ h9 z3 b1 k' U$ P2 r
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ # F* M1 p8 H4 y& x2 Q# Q$ B+ t6 c
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 0 z6 D9 y& s1 a9 _) U
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
% {, I8 ]- Y0 w8 hmake -j8 && make install' @9 {% B- g! K* i, S! e% l$ u
arm版的就完成了。! d* H1 m& Z( s8 }: n7 k
然后再解压一次qt-everywhere-opensource-src-4.8.3& W; X1 M+ Q4 s
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
6 @3 U+ C% U$ umake -j8 && make install* }" [/ D4 Z& e
3 ^4 ?0 }/ J, \" T# i! K
5 O. h9 ]! h. P* q, n8 M9 x3 ^配置完成qt-creator# i: |. v+ ~. j% b1 w
9 m0 C1 } I: }$ [0 h
新建了一个项目5 y$ T, `: C6 x" v
调试发现,x86版本的 发布软件没问题
6 o- m4 b$ q% P* E) j, E1 [: V5 H
忽略到所有的,可以进入断点5 L& K' _$ \( i2 K' T, a- L( q
然后在发布arm版时
, @6 Y0 J* N, _) `5 s. a+ F/ l. y5 w( _! z* V
1 C' X8 E7 b& y9 z$ `* R$ Q
然后我就醉了
) f0 z; y: |! n: V' ^% u. D$ R5 M" I
后来,我又装了一个ubuntu16.04的32位系统9 {9 [4 t8 a$ }' \+ Q
出来的效果也跟以上的结果一样. U, p7 w6 j6 E
sudo apt-get install libxtst-dev
" y( s! k* Z! u. ^+ `- p! decho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
& D/ T0 D/ Z- m7 n0 J5 ~% Wmake -j8 && make install% Z. x/ F$ P' b( j) R3 g# w+ a' U4 }
' d4 N# `- x4 @0 ocp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
# G2 ^" g! e( s3 H3 ksed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
: G; `( U5 G: w, }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
( G1 _+ n. w/ Q5 Pmake -j8 && make install+ b1 W5 W; e: o( G' e1 d
9 k, F" D O0 d: K
+ v Q; W0 r. I3 \
7 o; N: j4 [/ o/ \; U" u
( }9 A3 E, G( R. j- j- M$ Q& l. x6 o" t# f" A/ Y# D# \, R
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|