|
|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 D6 c2 |9 T" R/ p) J
! a" L |! k* N" M8 ]$ T/ F+ c我用的ubuntu16.04的64位的系统+ g# p! `0 n: c# ^3 ` ] t
4 e- N5 Z; D7 M Q8 p& A
我的用户名是arm% D' M9 E& G/ i2 ~6 {
我只用qt做一个无界面的软件开发,所以不用移植tslib。& c" J2 a* n9 n
sudo apt install gcc! W c' P% R F- H; d% F
% x: f+ }( l, [* n首先安装 arm-none-linux-gnueabi-gcc- D( d8 f7 h" K$ X" h$ a
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
# o8 \1 l; |) \" j! J5 C6 E) g拷贝到主目录下面4 N8 n# N! j. U, M" t
然后解压到此处。arm-2009q12 ]9 i/ E0 q- p8 L; Q* F# ]
最后,修改/etc/profile在最后添加上。6 q. v3 M4 y' F2 g. R) s
export PATH=$PATH:/home/arm/arm-2009q1/bin
( e. s# H# c2 x! v) f y/ \3 u4 |- ^" @9 r# J4 C4 V1 R/ s7 c
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
0 L+ R5 z( `, M( r& [+ s/ c' \sudo apt-get install lib32ncurses5 + f+ o; ]# M8 u: ~
sudo apt-get install lib32z1
+ u) E: ~8 z3 V: z
8 Q: h9 t6 y; U. u
5 ~) d& \& p3 h' ?9 F$ e现在 交叉编译器已经可以编译简单的c代码了。: Z* ]- H( y0 ]2 `6 A
下面我来搞qt arm linux的移植。
' J: K% ]0 ~8 n
) r/ y* M8 E" @8 S3 z9 p8 C1 Y' J下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
7 [, V* b2 q! `+ j' E) Rsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
( ]9 x1 {8 @3 F" W; P5 [8 h4 p7 h& g) k
解压qt-everywhere-opensource-src-4.8.3( i- e6 l# G4 U# l; i E+ S9 f
到它的目录下面。
4 l4 p9 y1 e! ?( j4 t8 S4 A: W* K& wcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
7 F8 |) @7 O& e$ |( B. c( dsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf - ]5 o; }: ~# K5 _! p( Z0 _3 [, h
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 E3 b9 T$ Z% d3 T9 V9 n, S% a
make -j8 && make install! u- W% \) |& s3 p
arm版的就完成了。
Z7 q8 K, O: f0 n8 G- g4 }2 ]5 ~然后再解压一次qt-everywhere-opensource-src-4.8.32 m6 x, M9 Q' o4 c; j, c8 H6 l
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle' a+ [4 y9 P$ ~( m- {& ]
make -j8 && make install2 E) u0 n/ y- o4 ~+ @/ l
. ~5 s; r: w4 j1 }! \3 u- `- w i1 S8 w. q
配置完成qt-creator& k$ A' \+ S9 B% |3 p
# M. |2 G) j, U& Z4 K; B; R/ o新建了一个项目
/ U* M( `# ?* c7 ?+ b调试发现,x86版本的 发布软件没问题
' e+ }& @" T; `' S$ C1 [" }; K
( V5 ^% s/ I: I" S/ A; t6 R忽略到所有的,可以进入断点
_9 n: c. z! j1 P. D+ ?然后在发布arm版时
$ E; R( }+ q3 m% ^9 Y7 m! x& e- P x. Z/ a: J0 F& H
P6 n; j9 z+ a" h% P: C
然后我就醉了
" M7 j4 l. H$ O+ I/ g/ n# F: z8 e
) u3 S s' o( S2 f! M% S后来,我又装了一个ubuntu16.04的32位系统% {, |5 m! {" W& j3 o# q6 P. F
出来的效果也跟以上的结果一样3 m: |# n. ^1 o2 D% t) N$ r9 |
sudo apt-get install libxtst-dev
) L8 t9 |: N6 `. l/ H) S: i eecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
/ ]0 l0 v! W. N8 tmake -j8 && make install
, c" {+ ~2 i; T& k, S' m
7 a* j+ G j l b; k: m) mcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ + h2 c$ a, a3 J* w+ w- W
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
* \0 x& C& c0 U& Y* k' @& K m! @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/ B% k3 G1 A' O7 ?' w5 ^
make -j8 && make install
- v' q! s% I0 W
9 o& D# b* Y7 |0 W( L4 |& {& M% a9 {# n. W$ w) Q. ^" @
4 K+ c( ~7 \0 w. S6 _( V! q" C6 H: }+ i: d! c4 J
: c5 H' ?$ M) `; D# A ~
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|