|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 ! n8 A C( C$ P {' m
; C- y2 I. k4 C3 K0 j
我用的ubuntu16.04的64位的系统3 F- M% o+ ^: B: T6 K
5 ?; q5 d$ n; G# }5 L7 d5 S我的用户名是arm
. c+ @3 s" K F2 f我只用qt做一个无界面的软件开发,所以不用移植tslib。) I( A# b. C" ~ W( W5 t1 Q
sudo apt install gcc" z; {. X4 O9 z1 K5 \4 `
3 ]& C. U: H. M z. r9 x6 K
首先安装 arm-none-linux-gnueabi-gcc' ?# C/ k# d* T) U
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2$ @4 x: B d! k$ Q( l4 b* \$ B
拷贝到主目录下面
( X* x" J$ W; [- n* e然后解压到此处。arm-2009q1
- Y& n X$ E* K6 k最后,修改/etc/profile在最后添加上。" P6 a* h' n7 C- R1 v& A) Z# h
export PATH=$PATH:/home/arm/arm-2009q1/bin
~& S' B: L% M) L8 m0 s
9 b- G, j& U8 {% b/ q0 P; h! h运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库) P+ x* E2 L/ c. W4 {/ T- R- l5 w
sudo apt-get install lib32ncurses5
! \* h/ K D$ O- Dsudo apt-get install lib32z1
8 [: H4 [+ Q$ e5 A X% k" \1 P! i/ E6 W: w K- S+ T, w
* `9 r# D i( a h A, f
现在 交叉编译器已经可以编译简单的c代码了。
* e$ [3 e, O [下面我来搞qt arm linux的移植。1 g0 X' T2 e# x$ `# \" k
6 @1 M, t- s4 ?
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要/ ^# C7 d) } b
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
6 c0 \! H# n+ A+ z5 I/ i# [5 ` r3 A0 h* @. s3 s
解压qt-everywhere-opensource-src-4.8.3; K4 Z. ]8 a0 f
到它的目录下面。: V7 o$ G5 a: H8 M2 [1 x
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 1 x( u& w/ s7 L7 J1 i$ [
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 7 w# |. S- ?0 D. l
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
7 ^# i) R7 H9 k* Q. Rmake -j8 && make install6 z& Q& {, g* ]2 F- q# y8 k+ ~7 a4 _
arm版的就完成了。
# ?8 _) D! X' ^) d4 N然后再解压一次qt-everywhere-opensource-src-4.8.3
' N% m& O0 B5 n2 d5 P; v* L1 V- _echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle% R" Q; x( F+ X% V) ]' {4 S: ~* S
make -j8 && make install) l' L2 W- z, h# g& C
2 Q" H% T6 u! n4 P }+ n f7 @2 [, K$ I1 j
配置完成qt-creator W, n/ p* o( n
( I, J3 W8 Q: I) {5 t- \/ E新建了一个项目
* Y! X# P. k; O" S+ }调试发现,x86版本的 发布软件没问题9 ]& h) w: A: Y0 S) O$ v. c, q; j; i( j
9 w1 ^9 S# Y# J$ R& Z% @忽略到所有的,可以进入断点
: @( [3 c1 d8 k; h8 w8 C然后在发布arm版时# x+ }4 T; j6 E. E2 E. F8 l
! E N- N1 I8 B8 X
; N( h: p) Y/ @( s3 K( L* L
然后我就醉了9 \. V2 _+ Q5 k/ h1 i5 F) E3 K( A
, D$ s% T2 Q- F2 _1 r后来,我又装了一个ubuntu16.04的32位系统
w% S; S: y0 ~) L出来的效果也跟以上的结果一样& k0 s* c3 g3 M s
sudo apt-get install libxtst-dev
' E2 Z% W Z0 \- |: }! M7 p# M2 iecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
- G0 D3 l/ f4 \; g" ?make -j8 && make install
. a1 [3 J D, z# Z" y1 G9 b1 F3 Q& f- z9 s& b
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ ; j9 f( R1 P- T
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
, z1 Q1 P1 N9 r$ h) necho -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
) W {" w: X* O7 q! w* G! K6 [* \make -j8 && make install
8 ^3 V& W* O# F# `( `( ^/ \) ~& G0 }
' p. P8 D/ i7 }: x
% S( ?% q9 l. e& F* U0 `" ^4 `
& V1 O6 c5 j8 b: x, o3 W! t) r; e+ Y, K u" E$ N
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|