|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
' @" C1 h% V0 y) I# _7 Y
6 Y( Q, j3 G0 R0 K6 v5 `* I& _我用的ubuntu16.04的64位的系统
$ o% i& R) s9 Y0 E4 L. q+ H3 R' Z. M1 {; V6 u- A
我的用户名是arm
8 h e) X3 v% Y( F1 Y$ z1 o0 g我只用qt做一个无界面的软件开发,所以不用移植tslib。
L" @+ P# |9 q0 gsudo apt install gcc
1 r. l4 @& }+ c) Q! n! j9 f# k+ h3 r* @2 n5 Z& K' H% o" v) l
首先安装 arm-none-linux-gnueabi-gcc
3 Z; x) O: ?) P5 X8 |将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2* f. i# }8 I' v! z' W
拷贝到主目录下面
! ?! e5 i' o8 _! R" J! o然后解压到此处。arm-2009q1 B4 d. e! R& ^
最后,修改/etc/profile在最后添加上。
/ u8 j% n2 ^0 M" p4 B% n" Q2 O& uexport PATH=$PATH:/home/arm/arm-2009q1/bin
" J3 W+ d8 e# O
4 Z! i# @5 A, q2 ~6 {- i运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
# D0 m' M+ }9 fsudo apt-get install lib32ncurses5 s0 y6 j- }; @
sudo apt-get install lib32z1
( X4 h( }. u: l, O
7 S( v/ s# L& W g
* d6 C+ Q) g7 n, ?/ n$ t' q现在 交叉编译器已经可以编译简单的c代码了。, G! Z! n+ c& v: }4 F
下面我来搞qt arm linux的移植。
9 P; p5 L$ a" V. F! _, c, d, w5 b# f) W$ U
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要6 y0 i- n2 k7 A; i/ F) W3 |0 ?; Q% _
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
/ L Z1 v" F7 c9 b3 y
/ Z& n) u' ]& z0 C# A: N6 C2 S解压qt-everywhere-opensource-src-4.8.37 h2 u) i& s9 ?' d
到它的目录下面。
4 |" D8 M) ~. [1 u" B9 @cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
' j) W# m2 } P% J: O6 e* Ssed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf ) p; i8 g1 N$ G8 j# [; z
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
6 j. N! g; F9 v/ W% |1 Amake -j8 && make install5 k( ~9 Z8 R p; [% p1 I( p% |# h) E- N
arm版的就完成了。, f8 j1 Z$ u, L
然后再解压一次qt-everywhere-opensource-src-4.8.3" s% [& V3 f/ s
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle4 M' x/ ~! Z6 v7 Y0 z+ x5 B
make -j8 && make install
) Q+ e/ x' j- f( I# K3 U7 C, ~, S2 h3 C7 G0 h' V5 N+ D3 E T
9 M1 S7 I7 f5 J# Z& `配置完成qt-creator$ H! P* `" O8 n3 c' O7 ~: Y. O, G
' L X- F' \2 p9 i
新建了一个项目
+ N& n/ D$ U' w3 _调试发现,x86版本的 发布软件没问题
1 R$ w5 ^4 R* ~2 @8 k; \1 U/ r
$ v& c2 y# j% i, E% j忽略到所有的,可以进入断点
" @6 ~) b! P/ d4 R% T然后在发布arm版时8 }: h C. |* _2 U# v% y* D* b
' I+ C& ]- E3 A0 F3 A) b
7 E5 D- N j) g9 {, u; C, r然后我就醉了3 G0 I* R6 _) ~6 @) |7 u: |$ `* ? n' e
?" ?4 i5 m7 A. d; E# k; R' R/ e/ ~后来,我又装了一个ubuntu16.04的32位系统
/ ]9 _ U% n- g出来的效果也跟以上的结果一样
, @/ X x1 l5 ]9 A7 Usudo apt-get install libxtst-dev' q; u( ~1 k8 L- @4 u$ I. G$ l
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
& z& l& |* S! Y) d+ Vmake -j8 && make install9 n. @2 ^% e/ |) [9 n9 F6 ]5 t
' H6 ?3 o x/ ^+ d2 d# Tcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
+ [ [$ O8 D9 H- Q9 Rsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf X) i6 \8 W% ]6 }
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& K+ O* v; I: s- B: P+ ]
make -j8 && make install
6 G# i, J* m% G* ~
8 w3 R- H% H9 B# E
# t- z" K6 m7 f5 ]$ }( g; M: }! O- H1 @7 u. S; c; m
$ w+ O+ r# }8 y7 i) L
7 s/ f0 K1 C6 l' F9 }* ? |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|