|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
8 `# M: Z( U! @, h5 G" @% s3 s
; s% ~2 v, V; `9 ^ B2 G& p5 t! B我用的ubuntu16.04的64位的系统
( n1 C+ S1 V {+ V# Q; p0 }1 d! o0 D5 m% a+ y
我的用户名是arm
( H9 p6 U$ e& `' z) i2 R6 o我只用qt做一个无界面的软件开发,所以不用移植tslib。
- r7 C& b( L- a- }: i9 ~3 N0 \sudo apt install gcc- @4 B8 R( d+ U8 ^) d
4 U& ^% K8 \, X7 c! T' g
首先安装 arm-none-linux-gnueabi-gcc9 @2 R2 i3 r* ?5 O
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
% r$ b0 a4 h U- }: j" Q拷贝到主目录下面
7 ]/ e- H6 v5 N' ?+ @* `然后解压到此处。arm-2009q1
, L+ E, W8 [' R7 W9 B, \最后,修改/etc/profile在最后添加上。, ]/ _. H. a- M# E/ d2 B: v
export PATH=$PATH:/home/arm/arm-2009q1/bin
" s" z0 B/ r) {; A4 z- P; z$ {% j. z7 a! U8 \* r1 S3 u# {3 J6 w
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
1 e% _) Z# d1 h! @& g; _% vsudo apt-get install lib32ncurses5
4 j# A, R' G8 _: Y2 l3 `. M& Jsudo apt-get install lib32z1/ {" w) w; w8 [7 E
A( }4 j) ^) f: b6 H q
: `) U+ g& ?- b2 r, C现在 交叉编译器已经可以编译简单的c代码了。
+ t9 {$ N4 \/ G) L3 B2 z下面我来搞qt arm linux的移植。" e# Z* y& O8 H/ m
( z7 }5 ?: `( J- F4 N. }下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
4 `5 \# C3 w; S( J) _& t7 Bsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
# X$ i" V+ d1 a0 A% p& S7 {) l" {7 o& b9 h3 }
解压qt-everywhere-opensource-src-4.8.3
. k$ _; G. L4 _+ d: N) Y) }: K' r到它的目录下面。
+ s) d& M- j) ^ A6 j: ]8 d, U* a- K# Rcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
) V* v+ D- w# j% ^! e# t9 H: zsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf # `2 X- p, h- W& t! p- A
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
5 E) O+ F& g) _ Ymake -j8 && make install8 h4 x! @7 u+ B, ^3 g
arm版的就完成了。
! e* K1 S$ `8 J5 \. ?然后再解压一次qt-everywhere-opensource-src-4.8.3& w. o' X0 M- }5 e* V3 ~
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle8 g$ ?- A* u5 \
make -j8 && make install
5 ~, C2 j2 t- u: n) \4 P1 @5 _* ?
4 O% h% f4 Q4 U2 J: h( a8 ]- b) _# m
配置完成qt-creator/ d, R. L+ f! ^! ?
, C( e, i% J0 O7 x9 ]: c新建了一个项目# H% Q3 A" ]% R7 R- N: \! n' R: |
调试发现,x86版本的 发布软件没问题2 j+ w5 m, @! ^& S" `1 V& j# i
9 |. d$ J$ G* e忽略到所有的,可以进入断点/ v g5 W2 i9 \3 I
然后在发布arm版时( \, a) ?8 I& E3 `6 E
, M) v% V3 c) {" }# q
; K t! e ?6 v然后我就醉了6 u* R! w( h, Z$ o( ]( |( [. U
k, T7 \; ^( [, {7 z6 Y5 e后来,我又装了一个ubuntu16.04的32位系统
( @6 f' z% [7 p3 m; U0 @ h) |$ \出来的效果也跟以上的结果一样3 @$ E' a2 I7 A0 U, E/ g6 {
sudo apt-get install libxtst-dev5 m9 f. p1 ?% a, a+ Y' H4 n
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
; r8 h6 \1 A7 E5 v( L* bmake -j8 && make install) Q Q2 o# v# H0 t
2 x( L0 ~6 q0 Z8 acp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 8 _+ m/ o& _5 s2 w
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf & U5 R+ N( a. _! D# K2 _/ l. i
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
+ b) m( I$ u( _4 p& s r3 Wmake -j8 && make install
' B) W: X2 G& j3 f0 D, `' D8 {! L; Y0 Z' V9 M4 ?0 S- c
d1 S) B, [* T& D% u0 ?& j6 l7 K. W4 H1 Y& R* `8 D1 k
! \1 _( i t$ I8 g+ T! ^
5 L- B: u8 h$ m9 U+ k |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|