|
|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 # [2 \1 i# B9 H% u S. q
" _4 @! S$ w0 T! ?8 |
我用的ubuntu16.04的64位的系统
0 L5 A; n- l+ O' |
" h: D2 [, @( {我的用户名是arm7 B+ o, _7 o* Z. ?; L
我只用qt做一个无界面的软件开发,所以不用移植tslib。
- }/ r+ S6 W3 ? G) k% ]$ ?sudo apt install gcc0 p' w' k0 p. |. \
2 S6 R r2 @) f8 x% ~& `首先安装 arm-none-linux-gnueabi-gcc
4 @% v" {* s0 y: d0 Z将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
6 c3 V; p6 s" P- K拷贝到主目录下面
/ x2 |' Y* p0 q5 T9 U) B$ a然后解压到此处。arm-2009q1
. Q: w4 q- t5 K; k/ h; s最后,修改/etc/profile在最后添加上。. H$ A) W, ]# Z" |
export PATH=$PATH:/home/arm/arm-2009q1/bin
* y0 w& w& U: p/ o
5 T4 y) S/ H$ E. _ j$ s r运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库2 b l- y% B4 q d4 [$ G
sudo apt-get install lib32ncurses5 7 X$ F2 j' g! J) l( ?2 y
sudo apt-get install lib32z1
' M' d( U q9 w0 `5 ~; _. m) o6 h s" j
$ o* P5 f3 b8 v/ O+ n现在 交叉编译器已经可以编译简单的c代码了。2 j" O8 q, w s4 M; }
下面我来搞qt arm linux的移植。. Q, c: k9 R: q1 O- D
$ _; H. t* k. f Q! } N) @8 O( P" E: d% C下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要. q4 J( ]4 @8 [7 \
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool8 T- i( B. S2 j0 N- j
" `3 m/ [/ ^0 V( W; ^8 e/ m+ E
解压qt-everywhere-opensource-src-4.8.31 R$ e- M% e* U8 h* c" J
到它的目录下面。
1 i8 a- V3 Q$ mcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
& U; m" L0 _, L+ W! [1 W0 j1 ~sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 2 w( N; F2 x0 {' W
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
: I/ F" ]/ e9 Z; G! ~) ]) Lmake -j8 && make install) ]7 Z, k) m. `& Z* P$ q3 v$ J2 ]+ C
arm版的就完成了。
! l# m. K4 m4 Q. o2 X6 Z0 v4 ?9 f然后再解压一次qt-everywhere-opensource-src-4.8.31 ]$ s. q! t5 v% o6 L
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
) @1 S( G$ n: G4 s! Q3 I# D6 Cmake -j8 && make install. f& y2 r0 I5 ]7 e
8 A# b3 R" ]0 ], S
. k: y* m2 a3 p' A, G9 Z# X! A/ R配置完成qt-creator4 M" X- G* l1 |' I
; ~) p: ~7 _" t' d) _
新建了一个项目
\- C: [+ w0 T3 L1 Y e调试发现,x86版本的 发布软件没问题5 m, O N0 r6 ]. X* T
7 i$ h0 f: C7 f% F: M# C; q- j
忽略到所有的,可以进入断点3 K; y. j* h2 ?9 c* E3 r
然后在发布arm版时' H4 f6 ?) I6 E$ y7 Z0 m& B
; I* {0 a. z& M, I- E0 s
: p. t8 E4 B/ h$ E% p然后我就醉了
, Q" `& }: C+ o$ |4 A5 v7 ~6 j# q- w1 g- C9 F
后来,我又装了一个ubuntu16.04的32位系统0 O! ?6 R3 M1 c: q2 f
出来的效果也跟以上的结果一样
1 U: A7 J! z' V8 l2 N8 gsudo apt-get install libxtst-dev' C! `* I4 P5 s6 z! X) c5 Z# \0 y
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle; J" w2 e$ ?1 S8 M
make -j8 && make install# _& M# i" [6 \! {1 c( Z/ u$ O
8 P1 x. o% L6 v. m( N
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ + R* S8 {- d; `$ J" Y
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
3 O- L4 ~8 {/ x) Y6 W! v5 y. T: Secho -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 E2 a6 l3 _5 w7 q5 h; O
make -j8 && make install
, N0 l8 {8 J( C- E' d- q
: v, x* f% L7 i5 l5 q9 `& ]
& X' L g9 i& d. M: {, }5 L6 B) T9 T
2 ~# ^3 p K$ i' q: [5 e7 i8 T' E# j9 X, p+ Y/ Z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|