|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
: M/ ^2 h: ]* h- {6 f% k' I) X% c& k X1 |( r1 }, s
我用的ubuntu16.04的64位的系统
& S. |/ E" f3 q6 m
9 `$ y$ c Q w1 a6 ] B/ t我的用户名是arm1 |4 O- L1 [& R o$ X
我只用qt做一个无界面的软件开发,所以不用移植tslib。( ]$ X% @9 T2 S0 d7 t
sudo apt install gcc
8 Q, F$ e, y% d; Y0 @ h; ]% u4 c6 j$ F9 z3 N) m4 h; K) O: V
首先安装 arm-none-linux-gnueabi-gcc2 j1 G; Q* M4 T9 [9 V. i* Z2 E9 x6 e q
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
9 K5 x9 q% L7 U. J( [拷贝到主目录下面
j6 U' v; ~/ v# E* A2 E然后解压到此处。arm-2009q1, N; m8 n- r/ o4 {3 M5 @
最后,修改/etc/profile在最后添加上。* ^" p2 Y2 g" k/ N
export PATH=$PATH:/home/arm/arm-2009q1/bin1 Q; H# l" j7 h, L% {$ E7 L6 J# g
7 w5 S" |$ g/ A; B: F/ M1 L& g3 V运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库# N8 }& `& W4 m
sudo apt-get install lib32ncurses5
3 r. k. H3 A4 k' b0 ]' osudo apt-get install lib32z1$ @! c7 t; r1 M/ W% G! Q
) f# ~% s0 v- s" M: L; M W, N+ W$ D
现在 交叉编译器已经可以编译简单的c代码了。
4 |/ Y& _# W, E( [下面我来搞qt arm linux的移植。
& {* Z" i6 e* j
, W7 B' ]( q0 V4 t' U下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
% ?0 G0 F0 x+ K) i# p- k1 F& x7 ?sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool/ j6 Y h# B" E4 N+ K( T! t: Q. R
8 o1 o! b h8 N# ^$ \1 H, S9 `
解压qt-everywhere-opensource-src-4.8.3
1 w' d9 v; I6 f1 w! G到它的目录下面。
: Q( s7 B: y- t& _cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
& \& @' }% A# _4 A: T1 qsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
/ }, H2 g* }. \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
. T) s; b4 e$ j7 ^# ]- xmake -j8 && make install
) z3 K8 K- r5 _% E7 P* d4 `7 uarm版的就完成了。- w, |9 \6 C, ^. S$ r7 T# F
然后再解压一次qt-everywhere-opensource-src-4.8.3
7 e* y5 p0 P' z7 y- X2 ?echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle/ @: Q8 x' M7 v( ?, k8 G
make -j8 && make install1 D% C1 a/ f, ~# w7 i
6 q0 F$ o5 H" j5 N# M
. q. V" b5 N1 o: u$ o/ F h配置完成qt-creator# W8 Q' g* d8 C4 h* Z* U
' d; z K1 T) C$ p新建了一个项目& m$ `. d: u6 t6 q' E3 \
调试发现,x86版本的 发布软件没问题5 H) P+ J( ]- @1 U: N4 m" V
, b6 |2 l: r! h( L& |$ n. C/ E- H$ J
忽略到所有的,可以进入断点- r/ S( B: N# A6 e
然后在发布arm版时
. p- d5 p5 Q4 I+ Z0 Q
/ X8 I( y6 {* A0 L, M
" e) _% L, Q) @ S' v; e$ |然后我就醉了. n4 j; t6 K( m' [& Z
# X1 _) d0 j4 u+ y3 C+ L
后来,我又装了一个ubuntu16.04的32位系统
5 O: C. {6 u' x8 h. K' ^出来的效果也跟以上的结果一样
3 w. H. k+ Q) ]7 G! Asudo apt-get install libxtst-dev- e: Z) c; {- O7 m0 E& M
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
; ` ]0 g6 g% O# W! ?' n Hmake -j8 && make install
) \3 j# \' H( E* p* ~
; H% m( j2 C' [( f5 ycp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ ! i+ c' M- H. {7 H
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 6 M/ o4 r9 k# W1 P
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% B7 e" ]+ I2 l
make -j8 && make install
1 A( H5 R" `# D( w# U3 r, ~- v/ d5 I, C8 e2 \
1 z1 L( B! X. B( j
/ N4 R7 S6 U" s6 N" z9 }) N& D7 M _5 _& H$ N
- V' d$ i; W& @0 J+ N [( v5 Z3 t9 ^9 K
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|