|
|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 ' d$ z- {% B4 `6 ]1 ~" _7 k% l- ~# s
6 {# m. v9 J- @
我用的ubuntu16.04的64位的系统
5 v2 r# g5 E4 C( ], h& S, I
- O+ p; a) r3 G8 W我的用户名是arm
7 k7 B/ E2 h/ U) C# H我只用qt做一个无界面的软件开发,所以不用移植tslib。
: y$ [, V' |- G7 o+ C6 Bsudo apt install gcc6 p( ~. X5 N' s1 S
, ~7 O. f$ [2 m4 M首先安装 arm-none-linux-gnueabi-gcc; U$ w8 ~. I" H& A. R$ H6 j1 V
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz22 g& y9 S* |$ N0 h5 b" U6 z3 X/ A
拷贝到主目录下面# ]/ a5 r4 o; C% J2 ~$ s( k
然后解压到此处。arm-2009q1
, A% t5 y; G+ o a3 \; l8 q z最后,修改/etc/profile在最后添加上。
8 v0 ~" g* P0 \8 e: s% i0 @export PATH=$PATH:/home/arm/arm-2009q1/bin# Y6 ^4 Y6 X: e( }
8 t c% X% M, n- s6 D4 o
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库$ t7 x9 z& g& A/ |
sudo apt-get install lib32ncurses5 7 l# u+ F( r6 N- b
sudo apt-get install lib32z1
$ S7 h0 r2 r+ C- _5 s! z1 W
( |0 a* r/ X0 N P1 P
6 e: c/ h: a: g# n( n现在 交叉编译器已经可以编译简单的c代码了。3 G+ c4 }& w% ~/ }) }& z
下面我来搞qt arm linux的移植。
1 f' M! P! z5 Q9 B7 }3 _/ D0 }- J( t0 [: F3 k( P
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
) s4 R& v, Z5 `sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
/ a K3 L/ b3 L k9 k
2 l' d3 p, p2 ?" q5 q: F/ [6 u5 Z% [解压qt-everywhere-opensource-src-4.8.3
8 I# {; n$ f( t2 q) [5 k到它的目录下面。
) K8 N4 I/ p7 Y+ c+ Vcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ . q( s3 N* ?9 N7 x1 ^. z, N
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf # Q s( e: {- w9 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 E1 H3 M) O. r% l
make -j8 && make install+ I' S/ C, ^ |4 X. F3 u
arm版的就完成了。# E! f' C. L4 _5 e. y
然后再解压一次qt-everywhere-opensource-src-4.8.3
1 h1 m% {% W$ N) ]8 c# y# W8 k6 eecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle0 @* C6 Y4 V- }! @
make -j8 && make install6 Q# z: y* l0 d* {0 E
" s- t/ `$ C! g* [; j+ M$ `$ L& f
5 |* g7 a n; G4 B# K配置完成qt-creator
; d: c; t1 s8 S- {$ h
4 }5 |, x* y+ A+ @8 R) v( S新建了一个项目* I5 {4 H' m# z' Q% N
调试发现,x86版本的 发布软件没问题
8 |& I/ n9 m' I; O. |3 i j7 U9 b
' M* _; r( y5 Y1 j忽略到所有的,可以进入断点
; ]5 A+ j% J$ H& U, `$ m5 I然后在发布arm版时. H* }. N F" k' P/ e
* g. C* H( b7 k
( c7 G2 q) l, L3 j: b3 ]( E然后我就醉了. P2 e" I$ v1 ~3 c" u3 l
. W% L' k8 x% X4 \+ l4 ^/ O
后来,我又装了一个ubuntu16.04的32位系统
( U( ^7 C" k; d1 M c5 m, u+ b$ d出来的效果也跟以上的结果一样# f0 x5 Q; S$ A3 }! o$ a
sudo apt-get install libxtst-dev
2 H, M& t5 ^6 U3 X5 S- iecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle; U+ j' w `( Q' z
make -j8 && make install. p4 c$ {6 G+ _# `3 c6 A8 B
6 {3 s( c) A" Y+ k% z) icp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
4 b$ U/ `- a, D( qsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
, X- M* d/ J P! f c% D( Cecho -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& ^; u7 d- D% P+ m4 [: O" @+ {' a
make -j8 && make install- d7 ]! ~1 N& c3 G8 B$ P
. k) Y6 j' X# ~7 f8 ?$ h: o% S' L( n8 d( S1 W" x5 a
: @& }( f& K: P7 t5 J+ @
2 e M* r2 Q0 u& R5 s1 ^
. q% j* _1 w# j- G
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|