|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
& t4 I# E2 i" I) _' d5 j: R+ W8 k
: {. J8 q1 [; J' m7 w$ k我用的ubuntu16.04的64位的系统4 p6 k1 M; g* @! O5 _6 a! B
) K" p( q$ G3 D4 D
我的用户名是arm. ]- ]5 e2 ~' E# o: e+ E
我只用qt做一个无界面的软件开发,所以不用移植tslib。
3 V) ]9 |7 U. p& A9 P8 J3 X) rsudo apt install gcc
# T' }2 T) A$ f! U* [) `' P
: V$ j; N& L1 o7 O) j, \! r首先安装 arm-none-linux-gnueabi-gcc
" E' y9 f: I/ [4 Z将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2; s6 ?4 S! z9 k( P
拷贝到主目录下面
h' [7 ~. c; d然后解压到此处。arm-2009q1
6 B# P* u3 K% S1 N" c; x3 H) J最后,修改/etc/profile在最后添加上。0 O0 h! n0 W: x1 K! a6 h, w
export PATH=$PATH:/home/arm/arm-2009q1/bin
+ p: K% Q2 a. h: m' z! ]% Z8 l9 r& g( U; y5 y. x
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
# z0 N& Q. v: R6 Gsudo apt-get install lib32ncurses5
( i1 G5 Y5 N: I6 A6 b1 |sudo apt-get install lib32z1. ] b6 t9 | j+ {$ ?% g
+ p3 f+ L6 Q3 h; e3 Q/ o
" P, J8 j2 L, l/ y' I现在 交叉编译器已经可以编译简单的c代码了。
7 v' x& \$ w9 v* a. |- Y9 K下面我来搞qt arm linux的移植。% Q1 T0 Q1 X$ j8 L. u1 ^
: }9 {. Y! R# u$ J0 O
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
, `. L) t E0 w- ]/ u/ X2 S) Z+ W. d. zsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool/ L$ D; S; b0 D1 ? E" |
' X- ^1 r; v: u3 l! \! i* r解压qt-everywhere-opensource-src-4.8.3, B' l' r( P. E" F7 s
到它的目录下面。1 v4 Q* J. R8 V$ w
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ : k% e- u! }1 g+ L: E8 x5 {
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 6 M8 V( `6 H# h4 ?, D
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' w8 ~% c4 R4 }9 [$ E
make -j8 && make install
( S/ c+ k7 s. v* Z& S' x7 }arm版的就完成了。% ^' T4 ]7 g/ z7 w3 W% W
然后再解压一次qt-everywhere-opensource-src-4.8.3
6 L1 s# m) m* j- X3 M' w2 aecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle1 }# |: x. Q" M- k
make -j8 && make install! u/ Y+ e) A' u4 ~9 @+ ~/ w0 y
7 Y% H* E1 V% B. E
6 }9 j+ Y6 C2 ?配置完成qt-creator
c$ S3 K& s4 a
2 G- B, `- L Q- n! g! I新建了一个项目
- L/ y+ N; E0 ~7 p' _, W# z调试发现,x86版本的 发布软件没问题
/ l$ ~/ y# x) r; C x: I7 D' Z# P& g
忽略到所有的,可以进入断点
, s5 `0 }( a% [; z1 Q6 u; N+ k然后在发布arm版时
9 m+ H) A9 T+ u( c/ n) a9 v. k8 M% a1 P& M
3 {' h( N% Y8 k, r2 _然后我就醉了0 S% B3 t8 n( v+ _
2 L4 U @6 W- @0 s, @+ _8 w后来,我又装了一个ubuntu16.04的32位系统9 R: t8 T% |1 n- l
出来的效果也跟以上的结果一样
- y5 Z0 [8 O) u! d1 Asudo apt-get install libxtst-dev
. b/ k7 v, N1 {* ~/ j) L# i" Recho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle1 S. l/ ~! o" a l* u! y
make -j8 && make install6 p7 k% B, h9 C/ A; z
: y$ T: A+ I9 K6 `4 E7 p# |cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ ! R8 m& w: i3 {# X# |$ G
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf ( g9 _" U6 j7 i3 v+ U. r1 d* w- t
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 E9 Y- W7 h: @. X I' Z
make -j8 && make install
* c1 f# O* C- Y& t1 b7 u+ ~8 x/ p, Q5 V4 m9 E: p7 D$ K
& q+ u9 R/ ^8 W/ \/ e
- m3 C( H2 [( U% s- z' c/ ~8 X1 I0 E! R7 c9 h& b
0 a! l$ Z$ j4 W) s, V |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|