|
|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 . k8 U6 t. V2 y+ H# f) }
1 n/ Z2 ]( C9 H我用的ubuntu16.04的64位的系统
: {) T0 F' T8 ^+ W+ X
* J3 I) A/ W, R5 H8 N8 \+ z我的用户名是arm/ }) B- D3 K0 O1 I) D: o8 Y
我只用qt做一个无界面的软件开发,所以不用移植tslib。
2 B7 S1 y7 o( C$ t& @5 g G Nsudo apt install gcc1 L! P# J7 P7 p
7 c0 ^4 C) X' c) n2 {: i- E/ `$ M
首先安装 arm-none-linux-gnueabi-gcc
8 I: B) A1 s! m% E- ?- g将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
, L; S: Q5 ], _& I5 I拷贝到主目录下面
# H" \' t/ j" w然后解压到此处。arm-2009q1
) g8 T* ?" o. ?最后,修改/etc/profile在最后添加上。
& a* n0 X2 j% |0 ~: J) Wexport PATH=$PATH:/home/arm/arm-2009q1/bin# K! ~# R5 g+ j$ J
. K; z4 M! P- i- q! Y
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
# S" H8 B. G$ O( G0 \; Nsudo apt-get install lib32ncurses5
. T0 n4 m2 H9 g9 d T6 Bsudo apt-get install lib32z1& W* d1 F+ R! ^# C6 A
3 G3 E0 Z! c) N8 Y; W x3 h8 @3 P
+ I* |, \# s" H/ i8 |现在 交叉编译器已经可以编译简单的c代码了。4 x5 F/ m/ I; F5 @; Z
下面我来搞qt arm linux的移植。
h% C0 S; U8 i
/ ^' Z% m" \, a: j1 _下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
6 w7 M9 B8 ~6 u. m `% |sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
5 y1 z/ M: Q8 x# u4 Z* X4 d& v, k; q8 |
解压qt-everywhere-opensource-src-4.8.3
% t* F/ W. D- V" D0 k& x到它的目录下面。
( t5 g' r+ ^3 G4 ?+ A- N. ncp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
1 c" J7 o% `& B# E( U. w3 c+ [sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
: V: J- ] q4 |2 Qecho -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
# Z% \5 R8 Q) t1 @# Imake -j8 && make install6 M! O8 C0 ^+ r; A, o0 ^) z% r
arm版的就完成了。- c3 @4 R! C! U5 q5 ~: }; d; ?
然后再解压一次qt-everywhere-opensource-src-4.8.3" V' m; N+ i7 I8 L! u" { I+ [5 v
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle6 y3 } j- w% ?
make -j8 && make install! s# C, `" R( i9 Y% l; t1 `
+ T& R0 C2 ?0 W- s4 k. X
8 ]6 S" ^ f+ n5 B9 b# Z6 l配置完成qt-creator# m! g {# R) b( c3 H: @
: t' `; L! N4 s
新建了一个项目
, M+ [0 f9 K1 |* ?调试发现,x86版本的 发布软件没问题& S' P/ `6 A; J& Y3 A
+ R. i1 f! D7 P) z/ J% S1 m, d
忽略到所有的,可以进入断点0 N2 C2 J0 Y7 C& e; _ j
然后在发布arm版时
* D. \/ J4 Q# l# P$ X. R" U& S: n) g' s* f- Q
6 _( W) O/ L- A3 n
然后我就醉了* {4 ?# q# \+ h) ]: Z5 u
9 B- j K+ b" t# e! W3 c后来,我又装了一个ubuntu16.04的32位系统# U0 A1 Y( i, q* k% T% P+ g
出来的效果也跟以上的结果一样0 t/ U; v' f. p8 L+ g
sudo apt-get install libxtst-dev6 u" m1 g! d5 h3 l1 b W
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
2 O- v$ V9 o; B7 ]$ D! P; qmake -j8 && make install$ d0 T2 w5 n6 e- c+ Z
' d* E: ?# L" l0 [, M- c3 N9 I
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ $ |5 P! B, n$ ~9 }7 @/ L4 J! s
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf ) v( ]% n! E6 e4 D6 b8 s B1 u) q
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
# z* P. z) x2 V5 z: Smake -j8 && make install
1 g) k$ \! p+ ]1 g( H7 y7 a. w3 v, {6 I" | ?+ D9 Y
' a' o- U$ h' w0 m3 J8 H- R' v
7 ?) N w6 v9 e) ?$ E/ C1 j8 }7 A0 w- P5 H+ h
8 Z$ V& K; R+ K r% N* [& Z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|