|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
& }2 ~# |% o S+ |
5 U2 _+ O% _! m i4 l0 k m6 v我用的ubuntu16.04的64位的系统
4 a# u. B- r# y8 R3 ^, J4 R. A8 ]( j) U" z$ P7 H- t3 B
我的用户名是arm
: ^! z; r% E- D4 G, X K我只用qt做一个无界面的软件开发,所以不用移植tslib。6 e2 H; w# y) q
sudo apt install gcc" Y% w1 h& g7 J* n& N' C
( R( r9 K3 [3 h' r& F4 D' b' s% C: o首先安装 arm-none-linux-gnueabi-gcc
. ?! f8 |) C& z9 [0 S, |4 H将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz21 Q8 p* {, Y5 r+ V3 v
拷贝到主目录下面
, N+ z' F, p. E( i4 p, U. V然后解压到此处。arm-2009q1 m( c" y" I! j" }$ n- H
最后,修改/etc/profile在最后添加上。
" k& V) r" A( f& e4 e* nexport PATH=$PATH:/home/arm/arm-2009q1/bin
: K. Y- u7 I0 \+ F/ k% l) y+ K; t9 Q* R5 ]* p$ r
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库4 T5 G% K& x& {
sudo apt-get install lib32ncurses5
, Z5 i6 \. J! I+ E8 @sudo apt-get install lib32z1
+ ^/ [& _' O7 s3 U/ ^6 t: y' [# K% Y$ N) f& [$ X
4 I4 S1 o- x: x' W# |1 ^/ l
现在 交叉编译器已经可以编译简单的c代码了。$ d& T& x, B' h& O' U' y
下面我来搞qt arm linux的移植。) h5 C, q% p5 B8 n4 F* w3 y
1 y* m& M- f* k3 [5 c下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
0 x* { Y' t0 n& {sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool3 T5 _# K* d2 u# Y9 w# ?& A( l
! _$ c" R; }: n* J% Y, Z; e& I K解压qt-everywhere-opensource-src-4.8.30 r/ J4 c5 v6 {( _+ B( j9 I
到它的目录下面。
4 `% n; x9 U; @/ {0 mcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 0 p" f$ j7 b$ h, P C, t- Q
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
7 \$ Z+ o' p& W$ R8 m0 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 E0 N; z! F3 x% i% R7 D h% ?. a8 Y
make -j8 && make install9 M& l4 A6 Q: i8 ~
arm版的就完成了。+ ]9 s$ D; U ?* k
然后再解压一次qt-everywhere-opensource-src-4.8.32 l5 V$ v9 E0 Y* _. G6 F
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle: S- g0 a2 A1 P) h* Y
make -j8 && make install. H6 R) }. l, B r
- Z% a! U% t# I& [6 N8 a
9 m0 K2 s/ S! h( O% u
配置完成qt-creator h" i3 U, |$ D" M! O& D4 b5 E
{4 t- c( h9 @& i! c新建了一个项目
& t: s- A! D* _# W6 k% B调试发现,x86版本的 发布软件没问题
* L0 E. K) m9 o% k: ~; _3 `" \: I: k) X, R
忽略到所有的,可以进入断点
8 S) G) a7 T2 h; P3 ~然后在发布arm版时2 f- b9 \3 Q! `3 [ h
4 d: \- A3 N3 `, z5 r5 q
) I7 S- H; m0 ]1 e$ I" t
然后我就醉了
, E) i. X \5 L9 C& Z9 d& [# n
) s7 H; T, q3 U( \后来,我又装了一个ubuntu16.04的32位系统
# G6 v' z# D' t3 }出来的效果也跟以上的结果一样8 w- t) y7 S; N1 z6 B7 B
sudo apt-get install libxtst-dev* W- C" u7 o' N9 a
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
' Y/ k' v8 C, l5 _make -j8 && make install
H' H0 F5 h! _( v$ M/ S" ^" A" Z( e5 w- d
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
$ b. Y' F7 o9 ?" m- r$ t* ased -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
3 r7 `: I8 W: y F3 Kecho -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
3 V7 t. G$ ]$ T/ a. o4 q3 amake -j8 && make install) E6 S8 K+ n( h: f! o
( ~- G. l" x& C& o& S
% O* h% z- ^1 O9 \2 a! v C6 }6 x
. s/ k, j" M$ ~% t+ B- W# h& `9 z' P1 G# r$ i- ~( `0 g8 [
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|