|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 3 h$ `4 p, Y5 `" |+ ]4 s G
% {3 n8 w! x! L
我用的ubuntu16.04的64位的系统+ ]+ e& f6 U0 o$ Y. L
4 e9 s: \, v$ w
我的用户名是arm
) E* _' {3 m1 z我只用qt做一个无界面的软件开发,所以不用移植tslib。
" }% B/ r, X. L7 ~1 M0 J; ?sudo apt install gcc& n0 @; V+ X) v
$ g: i4 [5 x D* {2 B: l9 _: Z
首先安装 arm-none-linux-gnueabi-gcc
' U, m# ~2 f6 e将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
, J. z# H$ d" e7 M. D9 ?拷贝到主目录下面
. V0 X* V! D2 ^8 w$ w/ d2 g然后解压到此处。arm-2009q1
5 T- k! f6 T: g+ N i6 B最后,修改/etc/profile在最后添加上。- V2 f, |$ a- S; p/ e1 O9 I
export PATH=$PATH:/home/arm/arm-2009q1/bin
( ~) J# l5 {& Q5 {, C1 W/ }% ?) Z9 X7 J3 ?6 Z5 `9 H
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
' Z0 A$ G) ` f' Y- v! |) @/ u9 rsudo apt-get install lib32ncurses5
* h' q' R- R# s N; Wsudo apt-get install lib32z1; J- {3 \1 F/ m N' v$ x
* \5 p/ l$ w0 S' u$ e$ V1 x
/ P/ x& {. o1 O: x8 d现在 交叉编译器已经可以编译简单的c代码了。: k0 d$ K! q3 Z! l
下面我来搞qt arm linux的移植。0 Q5 B9 Y/ a) y# H; C) R8 D" u
( E" s/ d! p h4 s% O/ ?. s下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
9 _0 d7 C4 f) h) A" y1 n5 F c$ x+ T& Vsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool4 u3 A- Q$ H- ^6 a; V$ x
- ]# s, U) Q2 f4 P
解压qt-everywhere-opensource-src-4.8.3
8 J8 Q7 z+ Z' m$ |3 w& y到它的目录下面。
# s- k6 m8 `/ A4 G& @) r/ |* Y8 rcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 1 G( |7 z5 ?3 g& y l: C
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
- Y, {9 }! Y, s6 |; j1 m1 }1 Wecho -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
( I" o6 U! n1 Q7 E+ Imake -j8 && make install" ]9 X+ e f) t$ f |, ^8 D
arm版的就完成了。: X/ O$ q% j5 W, K& P9 W1 }
然后再解压一次qt-everywhere-opensource-src-4.8.3- \* I8 c% \$ c1 |7 I
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle7 _8 U( [4 k8 T1 Y3 F
make -j8 && make install
y( u$ R/ y' [9 b5 D, L h4 j- W$ ^
& b* \' g* d0 U6 G配置完成qt-creator0 ^; n" r2 \" J! `
" ~% `& f, X- M# v7 z新建了一个项目
- O4 b2 f5 K9 A( v2 p7 H. g调试发现,x86版本的 发布软件没问题
9 P- @) v7 v G- O A P+ `( n
0 [7 I. M+ T% `) S S忽略到所有的,可以进入断点
' Z/ Y2 Z/ v# `* F: e- H然后在发布arm版时$ r* q" {5 A# m* }
0 I- I6 e1 I1 \' W
. q; l# X- `4 f% h8 `$ j! I4 V+ O然后我就醉了1 \: Q- a; f7 J% K m' r: A
' S d. f- o, Y- t! @
后来,我又装了一个ubuntu16.04的32位系统6 v" O) D9 w3 e }
出来的效果也跟以上的结果一样
) J! Q0 o" x' R4 I+ Gsudo apt-get install libxtst-dev
9 t' C7 c2 h1 w" pecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
: \$ {+ w8 O( [5 e5 j/ gmake -j8 && make install S4 w5 w, l) ]$ I: q4 U$ F
! x& w) E2 \* I8 a
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
7 Z0 K$ {" ]! A4 W# ~; L4 msed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
! F0 P1 h; p+ iecho -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 X2 F) X; ~8 S9 a0 K
make -j8 && make install3 p l$ ]6 h6 L1 [
0 _/ j5 v( I" Q, V) M1 L5 R
/ @+ r2 z B0 M6 V! e: k' x* @. S
4 K% B. b# l5 }2 ^/ k
+ n% B) P4 B" }) v0 z) @3 ?/ {+ b. O, L0 ?9 g4 E+ t
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|