|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 5 t9 o2 j |: B& Q. M+ N4 @
" C' j7 `% e, j! F8 \" z0 k. j我用的ubuntu16.04的64位的系统, S/ ^9 y% v* D0 j9 O
" n2 A" r: T8 c4 B# {) }9 Q8 Y9 f我的用户名是arm8 H. b* K% D- l* _0 S* p% m
我只用qt做一个无界面的软件开发,所以不用移植tslib。
9 S) H" e6 ? V9 S3 R0 Hsudo apt install gcc0 p) n2 `7 Y" r
; ~0 z. i0 [/ j- y
首先安装 arm-none-linux-gnueabi-gcc: N$ k, r- D& g$ C( Q m: ^, I
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 @' ]1 U$ z% q& s9 N+ D. R p
拷贝到主目录下面
& r: W- n1 [3 E2 z9 e3 x然后解压到此处。arm-2009q1' A- M" j5 {. ~4 G
最后,修改/etc/profile在最后添加上。
k$ Y( n( A& h7 j9 i9 _export PATH=$PATH:/home/arm/arm-2009q1/bin$ y: `" r# V* _ D" @
, B- v$ J% r+ J* D- O# }8 t" G运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库$ D5 |' U, ]: m, _
sudo apt-get install lib32ncurses5 1 b, r9 ]7 m5 v- I) _4 h/ I! L
sudo apt-get install lib32z13 c" M' i( H- B" G& d- g7 E
1 h! M# [0 V0 @' C) E0 H
7 @% [- z2 y( e. x$ ?' W4 D8 P* s
现在 交叉编译器已经可以编译简单的c代码了。
: R8 s8 o; S$ K5 X6 I7 Z下面我来搞qt arm linux的移植。
) S+ x4 O, X7 h, V; \
% c. P4 [* C2 E下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
8 Z7 j2 r s$ Msudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
) [. a% m. C3 z) ?7 d4 W' D# ]8 d3 f* a# a
解压qt-everywhere-opensource-src-4.8.37 V/ f- \" ~* d- H% @( k" T
到它的目录下面。
: X, U. e; _: r+ Vcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
$ L) ]# N) m3 ?8 J; C; d7 xsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
& ^" \" `/ n( z, ]8 c2 d5 |' Wecho -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' b F& V* V0 rmake -j8 && make install( M# K: _/ ~ U! X" R* ?
arm版的就完成了。! \ J9 M5 ]2 T X9 C
然后再解压一次qt-everywhere-opensource-src-4.8.3
7 O2 B5 R- j g$ Techo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
% G% R! u$ ?+ ^! {1 pmake -j8 && make install
" |& F6 a3 u1 W# Q- z# E2 b. a9 r: Z' |. j6 S* d
/ W3 m1 R: p- P) {3 N# K( i0 w配置完成qt-creator5 u! D% E. h5 j. q6 \0 _- n
; u5 }" `/ V; }* P' Q: N/ i新建了一个项目; k8 ^/ O9 J9 L# f: F) y6 e& K
调试发现,x86版本的 发布软件没问题
, E) [% \) o/ g
* o4 g+ V" _& T! ]$ \2 W; I1 n忽略到所有的,可以进入断点
0 t. T# W* k% ~, U! Z" P然后在发布arm版时# p" C9 O: E4 z/ z& h& b; F
) E* k2 a/ F! ~* H- s
5 [' z0 j* a! A2 Z7 p5 r* U然后我就醉了* U: j. p; t5 g; E. @& ]/ w5 c
2 l* z, y$ h$ h; {
后来,我又装了一个ubuntu16.04的32位系统
" x: N, d1 Z2 p S" d出来的效果也跟以上的结果一样6 J/ l8 D! `; r$ A) q9 V
sudo apt-get install libxtst-dev
% q. m2 ?6 ?8 g9 Aecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
: Y( O! r) r$ q6 `8 J; e" Kmake -j8 && make install0 t) E4 T$ z; o$ Z& |# n2 J- V! B
; `; J0 d; Z1 V6 \. Mcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
: t" p. O- w, ?; B, Z( Q, \sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
8 c, }& m4 q1 T) J) X9 m( zecho -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
! y# B6 Q% Z$ \2 x4 U; S: r- C! Z5 Qmake -j8 && make install. O Z+ v* I; b/ E/ s2 Z
) d/ g. y1 U% s. l: Z
* b/ t, b8 C2 Z5 e
$ Q) C- s$ s9 f( d
- v" d8 _$ I a3 t( u
: H, _/ [; m) e e- }5 k( u |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|