|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
m+ K# L( r; |
, z4 u2 N U- }' V- m4 E我用的ubuntu16.04的64位的系统
, c% f2 x) u- N/ v1 E- O; H2 j5 N2 P: _4 Y# t; s' u+ O
我的用户名是arm
2 Z8 M# D$ n, ]2 s% W我只用qt做一个无界面的软件开发,所以不用移植tslib。
/ Y: a% S: c; w; s# O7 x7 wsudo apt install gcc
- Z$ |) m. j8 g/ i9 h
# I& \& m% b9 G$ ~6 A2 \ m4 }首先安装 arm-none-linux-gnueabi-gcc" ]0 j6 m: y3 J2 P% c* ]# B
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2* m, _3 P3 V5 ]& m! f
拷贝到主目录下面- Q# E2 o- L' x# q3 I3 O4 y
然后解压到此处。arm-2009q10 E4 w$ Q" k) k6 m1 P
最后,修改/etc/profile在最后添加上。0 w8 C5 y( c9 j% ]* w/ W) Y
export PATH=$PATH:/home/arm/arm-2009q1/bin
' x p( `5 S1 O$ ?! _; @# }% G7 S# U/ n! |
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
. i9 F: `) r2 ?3 c9 F- f0 @sudo apt-get install lib32ncurses5 & m% f; o# A% a8 B, B' K
sudo apt-get install lib32z1
" w7 G) Y& Q' ]& L: }0 g0 N
7 b, Q/ Y0 O$ T; e8 O( h* e @
/ b7 V( H3 ~( Y; I5 e现在 交叉编译器已经可以编译简单的c代码了。
0 L8 \, Q: {. P下面我来搞qt arm linux的移植。+ T2 f- J6 G4 m9 M# {+ s
8 g0 z8 h: H3 c
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要" B0 F7 |' y" f. }+ i6 T. t2 Z. L
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool" d" M8 n z: x p. j( o
k( C( W8 {3 R解压qt-everywhere-opensource-src-4.8.3
. |" B+ x- {4 O! |( O到它的目录下面。) b0 L/ ] h. L0 k, D1 Z( O7 i# ^
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
6 ^: D, k2 a- K% \0 z2 R+ f) fsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
/ k6 y9 Q5 Q, pecho -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
# G/ P2 z$ G; S. N$ e* Vmake -j8 && make install" B& a: s: J% X, e4 z/ c
arm版的就完成了。, u9 ~4 g9 |& g* A4 ~
然后再解压一次qt-everywhere-opensource-src-4.8.3# f, ]9 @ O: \& w
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle4 a- ~8 T+ T# u6 ?
make -j8 && make install5 f6 w: ~- z8 h" L3 Z6 i1 V6 B) J; S
/ u* ]% r' d4 |) W
, K$ x8 c+ B. ?- C7 F
配置完成qt-creator
4 g7 M+ e7 x2 \4 m, D) _0 k& j7 B* ^2 j
新建了一个项目
4 K% b! Z# P; c1 i2 r调试发现,x86版本的 发布软件没问题
/ j; T8 D+ M+ h0 T J2 {1 a6 b" {) [6 s3 l8 x% I
忽略到所有的,可以进入断点
! R! q# u/ y5 }! r然后在发布arm版时( G- _" j9 T4 x x
/ `. a( ?7 G- o3 V- d. E5 M
M4 {9 ^9 ?3 d+ V0 F* Q然后我就醉了+ m; H) |3 Y) `; Y, {7 `
9 e& ^9 B" z" b. X6 ?" X/ {+ o4 v; ^; r后来,我又装了一个ubuntu16.04的32位系统
: h5 ?8 `% Y; w9 M4 y9 Q出来的效果也跟以上的结果一样
. `6 @" N/ K$ S! Gsudo apt-get install libxtst-dev: d1 H# K8 n" T
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
+ n2 U0 M: l% _$ G2 D0 pmake -j8 && make install/ F& J$ x) T4 |" H! }
, u$ N" _& \4 Z: {: r/ a
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ $ p Q# I" v9 y. Y' n: @2 [
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 7 ]3 f2 P/ V% H P7 O
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 O" C# y) a. C/ S1 ~
make -j8 && make install
# U2 ?3 p. S \0 x2 i `; o9 Q
. Q3 V. D+ F" ]) A4 Q7 `) u3 R1 L3 w( K* v5 Z, S3 W
* z& I( g, N" H1 P% C B: Q
7 F0 t# b4 s" k0 B5 R9 |& L
- ]2 F! x2 z4 q2 O B$ P% T& ~7 }2 f |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|