|
|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
# l1 n, ?2 `+ A. x* o9 R
: D% P# D% c. s1 S% \8 `8 C, X我用的ubuntu16.04的64位的系统6 J" F* `7 L' Q8 Q
- y5 B% M4 t0 ^' I a- f" u
我的用户名是arm
9 T7 [- }6 O6 v2 r$ A% T& V. N. B( t我只用qt做一个无界面的软件开发,所以不用移植tslib。3 o' q6 k3 y0 K5 R
sudo apt install gcc! g2 D J. W1 j1 I8 P
8 q, T; J g* s: n$ | R- y
首先安装 arm-none-linux-gnueabi-gcc: b$ b5 a8 y: G5 w7 Z0 S' Y
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
% q( Q: E: F# c! [- T拷贝到主目录下面
+ v# i- b1 v9 Z/ R- w然后解压到此处。arm-2009q1
+ y7 V+ D* ^* W) [7 V最后,修改/etc/profile在最后添加上。+ c: Y2 R' h7 ~0 B' Y
export PATH=$PATH:/home/arm/arm-2009q1/bin( `* p6 d% t0 K5 Z% y
' J# u. Z8 Y: k% I/ ^运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
* B/ e& ~4 ~. Y0 k9 jsudo apt-get install lib32ncurses5
" {5 z' a9 v" y- N- hsudo apt-get install lib32z1
( J4 g4 T' D# A$ |, m$ [7 x/ J, u. Z0 j1 X6 u+ n
* d9 l8 Z- n3 X: _现在 交叉编译器已经可以编译简单的c代码了。4 ?5 q! r8 f$ n4 d0 o, V
下面我来搞qt arm linux的移植。
; `! y3 l: y7 ?4 \) t) m& K( w
0 ?$ {6 _& c6 Q下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
! w9 X$ D+ b5 X) }4 Bsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
% b! }; i8 |- D( p0 b3 E1 \ _' L" G4 _ C/ E9 y! K% ~. x' F( j
解压qt-everywhere-opensource-src-4.8.3
! W$ x7 \( C& Y ]7 E' c到它的目录下面。* G& j2 e1 m) C
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
" N. M8 W! O5 c9 ]sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
3 |7 w# j: q1 [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 E8 I3 d3 \+ @7 i. v: R3 J
make -j8 && make install0 z y5 z$ q3 u3 _; k
arm版的就完成了。& x6 O( Q6 T) B& e
然后再解压一次qt-everywhere-opensource-src-4.8.3# r6 t, F5 A6 L
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
6 G' E6 Z/ J' C3 Ymake -j8 && make install! y' Z. u. {. [4 g* m* h
; Q* \& u" L2 t/ {' b) }, N' F; j7 y- k
& m4 \- j7 a5 _0 Q. V4 k) X1 Y配置完成qt-creator
* r% l5 n9 U& _: N6 q' z7 C! [. I0 s% D
新建了一个项目# `& r* Q4 D# {" \! [
调试发现,x86版本的 发布软件没问题2 W9 C; X O; B+ h! V6 H
/ W) \' A# r0 C/ T
忽略到所有的,可以进入断点+ |1 }- ^( a, \! Q6 p( l: Z* J
然后在发布arm版时
+ D+ O" {5 e1 g) m0 ~3 r; s0 M$ o% y$ b: _/ U; E/ U \
! f. S, A4 a6 e: X4 j u6 v
然后我就醉了
& |( ~$ X8 r) i) C5 d1 x( E2 }6 S `) d5 C
后来,我又装了一个ubuntu16.04的32位系统* w7 `) D. P' x' F- R+ h$ k
出来的效果也跟以上的结果一样7 Y3 M# i; s0 \' D A
sudo apt-get install libxtst-dev
* Q! f% r( z. s+ y5 p( u# j9 oecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle3 Z7 h; U+ n1 E. t
make -j8 && make install! V. t8 N; g( C/ M J) V
( i7 G" k* d8 o$ @' J
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
5 G7 W1 |4 R4 Gsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf ) Y" o; N0 V2 A ?: E) I f9 R! g+ s* 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
: o8 U. f. P( I" { M+ Bmake -j8 && make install/ b$ B+ d4 L) ~9 c' I3 q, d
3 D+ D4 I9 i% Y$ L
/ Q1 v5 ? w% p7 j7 |+ s0 x- A8 Y+ m0 s* Z
& A2 r* T: M2 x2 N
) L H9 U2 K. {* ~" }7 B {" s |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|