|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
7 [4 I9 }% g$ D$ n& H
7 M7 ~+ U! b: e7 y我用的ubuntu16.04的64位的系统1 D* c. w& {* }# r+ z6 N f l
% }# i1 M6 j8 t! Y+ l/ {6 E
我的用户名是arm; U6 N( ]) q2 ~0 l o
我只用qt做一个无界面的软件开发,所以不用移植tslib。8 N9 v. s* G: F( p# w( g
sudo apt install gcc' Y( B G1 c" {9 W+ Q
- Y. `' b/ p' p0 F* M0 N/ f2 f# {首先安装 arm-none-linux-gnueabi-gcc: R! m( a4 Q" f; L' _" z {$ a
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz29 G. H( |7 E ~, k" O
拷贝到主目录下面
, G& ~: V( J/ F0 M' T# {$ W2 q+ F然后解压到此处。arm-2009q1 o4 W' e$ n- o% m7 b1 i0 S( I A
最后,修改/etc/profile在最后添加上。+ _( j4 F$ U- Z! m3 G
export PATH=$PATH:/home/arm/arm-2009q1/bin
8 [$ }, ]+ t. w# H& t
5 h% U2 g, [: K' ^6 e7 x7 o* A运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
+ O; W$ X! k0 V& D$ G: @4 asudo apt-get install lib32ncurses5 # x* _& m, s) y+ g3 y; R
sudo apt-get install lib32z1
3 `5 X& L% O! X- b
5 P( T. ]2 {, ~+ @- ?& B/ W: K( L6 E# f5 {4 D
现在 交叉编译器已经可以编译简单的c代码了。
% f+ S4 T7 m2 O9 N3 |下面我来搞qt arm linux的移植。' C! d$ r ]& s% @
* U, h* S1 G* l* L; D7 D( y& e
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要( U& x( ]7 M8 E; S6 a
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
# C* y; K2 V5 R+ Q+ b
: S' u4 ^( `* I解压qt-everywhere-opensource-src-4.8.33 R2 ?! a) r2 B# D
到它的目录下面。
: b1 J0 H- y# n* s T! |' Ocp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
5 C: I) c! O5 \: bsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
7 a0 s2 K; {. q8 u9 X) i Y! ^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+ J! S4 [- \( }0 H4 S
make -j8 && make install" v! k# d5 U) t6 n Q
arm版的就完成了。
: q V4 }6 N' t, P7 h* A7 ]然后再解压一次qt-everywhere-opensource-src-4.8.3# a+ ^+ P4 g. J/ z
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
- X6 K2 y* s3 t% D$ R. hmake -j8 && make install2 o* e& G6 Y7 R: o! _6 Q+ d7 d/ _
& h$ t4 B$ w) e
( V: z% J! k" A& F配置完成qt-creator$ l, L) v* E% ~3 y
, @: u5 Y; i& l$ i$ [- S2 m. {& H
新建了一个项目
* P) x" x: H: j3 B调试发现,x86版本的 发布软件没问题( k% V' Z4 l4 h; Y ~
8 x, ~* ~( x4 x! L3 N( q4 c( s# w
忽略到所有的,可以进入断点
# J/ ]8 [) h3 m, N然后在发布arm版时
3 i5 {; z7 b6 F9 W8 e$ |3 H. j
9 E9 L% X$ [+ q& z+ B
* ?8 P. T$ C8 F$ t0 g2 p然后我就醉了4 ~4 J: o( }% S# R, ? Y& D
. J) _3 ~! T3 a
后来,我又装了一个ubuntu16.04的32位系统
" V6 E: t* T' u+ g( h出来的效果也跟以上的结果一样1 ?( i! @4 B5 m% k8 Y2 h
sudo apt-get install libxtst-dev
8 o1 o% g: t1 B3 f; recho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle. l m/ {) f0 ^8 |3 }
make -j8 && make install! o$ f5 G- h M% I. U% l
: O5 O8 {6 ~# h) E/ ]0 C6 G9 a2 [cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 5 |1 F! h, C2 @# `5 P) ]
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 8 E9 ]0 d* W7 Q4 |5 o% ^: X
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% H8 R- O% b3 u3 H
make -j8 && make install( V4 e* t+ o7 k+ @) M' J& E
5 _! ^4 G& v2 A7 b
: H( K d: C* M8 {7 a
# P% N* ?! T0 P3 N1 l9 J
% H( Y% ]$ ?$ }5 F1 O, g( v3 ^% r9 Z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|