|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 ) m5 N8 e, t* X8 J8 Y
8 G5 w1 F; ~; D" ^
我用的ubuntu16.04的64位的系统
4 s* y |% g* n. R0 K
^1 Y1 q6 g1 p4 z: S& `我的用户名是arm
! v5 N P' R/ k我只用qt做一个无界面的软件开发,所以不用移植tslib。
; C2 I: ~5 Z" K. _* Jsudo apt install gcc) p7 S) Z) Z* K# ?& I# v, J/ E
% n4 a8 }: B/ J0 L* [首先安装 arm-none-linux-gnueabi-gcc
& z) g: H( F' U& ] ~将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2( r- V9 j; `. H. W( b
拷贝到主目录下面2 W: y" p2 k4 i5 g1 u1 E
然后解压到此处。arm-2009q1. `# q8 \- H% v5 \! g0 g) T
最后,修改/etc/profile在最后添加上。
1 u4 l1 d3 x# r8 Qexport PATH=$PATH:/home/arm/arm-2009q1/bin& |4 l( O T3 ]/ K* [9 u1 N9 H
$ R1 q h) p' v2 S, l! ?) s" X+ m+ t运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
: ?% r1 G5 Y. F5 a: @! q2 d: Csudo apt-get install lib32ncurses5
: Y) f$ n3 F( y# fsudo apt-get install lib32z1
" R8 ?* s9 O! g7 h' S, {
! b: z. \5 V6 k
2 ]* A3 I- Q$ i& C4 g现在 交叉编译器已经可以编译简单的c代码了。* Z7 E4 W' {3 m8 u3 x% z
下面我来搞qt arm linux的移植。
P& ^* Y% L0 ` K1 E
& z7 _9 ^4 J# S& c1 b下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
) y$ g. u. H& y6 Y% p9 q( ~sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
. }6 }& J3 [7 ~- w6 j$ n$ z2 |
) {- X% G" O1 z( b: m- `9 s; ~1 |解压qt-everywhere-opensource-src-4.8.3, j9 A# c* W( I6 K ?& y" n
到它的目录下面。5 ?+ G, q; J# y! A: Q
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 0 J, |5 ` K4 `( o& s* a
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
& \( G' d5 F0 K6 ^$ eecho -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 u# E" Y' b1 C- Q1 ]5 x
make -j8 && make install
( C" ~) t9 Y* r5 K- ?+ c, r. K) Sarm版的就完成了。% G! V9 E' \5 c# v8 [
然后再解压一次qt-everywhere-opensource-src-4.8.3 `' t5 N5 y2 X" b9 V7 F% Q. ^$ l, l
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle) I9 \: _4 `+ d G3 d0 J
make -j8 && make install/ [) B# z. A! @6 j l
9 S; C+ y! `* `- t$ D4 r$ [& U4 g
" i1 s* N9 a% X4 S# H. E配置完成qt-creator, `; B. M( [9 @+ |0 I" E( a
8 ` l5 h: |5 @, x( [" @% ?( q新建了一个项目
! w) h; W7 r ~6 L8 S* h调试发现,x86版本的 发布软件没问题
" }5 ]+ q& B0 ~) g U) _$ M, G: f( E4 O3 ^0 P
忽略到所有的,可以进入断点
# J! U0 e+ n7 T% F4 U然后在发布arm版时
+ s; w0 y( a" B! M
9 C5 v( J+ l1 n- _3 w9 }7 `
( W# s$ k! r O) r7 o然后我就醉了 c8 ]. i% {8 n" G6 z% M
4 N% \* j' Y4 A; G {# j9 j
后来,我又装了一个ubuntu16.04的32位系统
, y( ]) Z4 b: R5 @& x1 D) z出来的效果也跟以上的结果一样5 I2 W4 @& a: p9 U9 L5 S" P4 s0 O
sudo apt-get install libxtst-dev
0 n" U9 Q) t3 H8 V. decho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
" n2 F1 @/ E; R/ I& ^% R+ ^1 P- zmake -j8 && make install
/ A) i& E$ a1 s5 i" Z( S+ n7 _, ]) V" s/ K" M6 R% s
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 2 X5 z6 f8 `$ [2 v; a
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf ( _& ]0 C) j9 J# h5 `2 R
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
4 t9 v/ c& C: g! Y9 R' dmake -j8 && make install
5 _; v8 E- p: o- K/ S( [) H6 A. g, j3 h \) {6 M3 z
2 p( g* u: [% T) m) J2 l* H2 ]6 C# i, \7 T e1 v% Y1 r
1 x* {* p7 G" J( X }, D' |0 ^" @; n( s N
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|