|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
$ k0 I. v7 i6 T& i. s
# H& j K" @9 Z+ p' Y我用的ubuntu16.04的64位的系统
- B$ B$ V. S5 q+ a2 k/ M
) I0 ?$ t, u, h+ d" g我的用户名是arm
# ~3 Q" S; C" J5 P1 l2 R$ M我只用qt做一个无界面的软件开发,所以不用移植tslib。
+ J2 |3 h+ C. l" a/ g" asudo apt install gcc7 n; ^2 f) x" J* y, ]
$ |9 {" |7 |6 @* g) ^* T( f首先安装 arm-none-linux-gnueabi-gcc
f$ n" Y k" J将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
4 [: U+ j+ W2 I: p4 x% F拷贝到主目录下面! f% L6 h# j( f0 F- Q
然后解压到此处。arm-2009q1" |9 I I- l% b
最后,修改/etc/profile在最后添加上。
/ T, V( a4 u7 W7 I8 x% o% oexport PATH=$PATH:/home/arm/arm-2009q1/bin+ f; w k( Q" T
2 o2 T# u- |9 L5 k7 l; \
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
+ P( O; {7 _' ~# h1 |7 jsudo apt-get install lib32ncurses5 1 W7 x' |% x8 j$ ]
sudo apt-get install lib32z1 s5 A# B% N8 K" b, b; p* P
' F9 q( x9 ]' U" `1 G2 {5 f1 p- Q$ h) W, L) C8 A1 T* P1 w3 e
现在 交叉编译器已经可以编译简单的c代码了。
" D5 j5 b7 w2 p0 K下面我来搞qt arm linux的移植。
% O5 G- L- T: O- W$ c6 G5 O& \4 ]
; q& m/ h8 i1 C1 } D下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
% y' h8 v! {. X8 H# hsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool" @+ N6 t0 ~) B3 G* {2 J, n0 X
: S% N% `7 I) b# m! d解压qt-everywhere-opensource-src-4.8.33 j5 o5 f6 U) K! I- F
到它的目录下面。
/ O$ v1 D6 a& i; Pcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
& i4 J3 W. t7 w- o3 @sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf - K. B4 _6 R1 {1 ^1 j5 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" ^2 K" N8 l! }' Q
make -j8 && make install: ]' V& }- d; T- G9 T1 m( ?
arm版的就完成了。
1 E! e" h1 p9 l然后再解压一次qt-everywhere-opensource-src-4.8.3$ Q/ }1 {4 ~/ ?" P' Q+ f4 p/ Z
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle& j4 L" J, s. d5 Q% H
make -j8 && make install
5 m) w1 T" Z8 b: f, {5 N
$ q: ?! y! c* |* S! D& W3 G& p9 ?/ G& w5 j# @; W4 a, Q0 G; ?
配置完成qt-creator
( ~5 j" c8 N' Q# s3 h S/ m5 p# d: W# f
新建了一个项目( F: c% j- W0 P& I; V& z
调试发现,x86版本的 发布软件没问题- L; t1 w# y5 G: ]& v: V
, i& ]' T' T! f* n
忽略到所有的,可以进入断点
0 a8 }8 l" i* H3 n然后在发布arm版时/ ^* F9 K. ]; e3 U. A- ?# }/ \
1 x. s6 ~4 g2 Y3 N9 m1 H) e' o4 x5 T( K
: e, ]1 J( r7 A
然后我就醉了
8 @& ` d1 U+ [+ b! @
( T5 A1 x/ y+ a7 E后来,我又装了一个ubuntu16.04的32位系统3 U6 D. M! w1 c& ~% q
出来的效果也跟以上的结果一样# l# F- f5 `; D' i! P
sudo apt-get install libxtst-dev
: u+ {# y% ^# X3 Y0 [echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle4 o+ a; m& H$ Q) U
make -j8 && make install
, d) v8 C: ^# W6 |& C# Z
. n _, G' h0 Z. \0 [cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 5 W+ ?$ u3 O( y: C
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
) C7 y1 A* V8 s& A# }( uecho -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
6 c- {: I# D. q: i" Gmake -j8 && make install9 L3 R3 o) K' }0 k) A
/ R+ i% v* g9 n, K8 S% u
6 q/ r. @5 i2 P0 x J% @( w& D% T3 n2 |+ K: C0 R( y& w- P( F
0 v6 G) s# g# e, Z( E; e8 q& K# Y- Z }# ^% x1 ^; }* x. i3 ^$ C& X7 n
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|