|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
4 Y! i- Q% \% b' _ z
0 Y C( [0 o5 H* f5 `0 {我用的ubuntu16.04的64位的系统
. U5 h. v8 [1 ?1 P. g+ U
& j7 K& t# k+ r$ ] r/ d我的用户名是arm
, K: Y8 ]( ~7 u3 h2 g! I4 p0 R$ X我只用qt做一个无界面的软件开发,所以不用移植tslib。
8 u% ~% l* a0 a* O: W/ z8 n. Dsudo apt install gcc
% x% }& G8 V1 N1 U
, @1 o; R) N$ `/ C5 u! @首先安装 arm-none-linux-gnueabi-gcc
, T; f7 m4 q0 o1 e* Y% @1 E: s将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
4 K; n/ {. x2 Z$ P3 F' S( P. l拷贝到主目录下面
0 J7 `9 W$ E$ y: v# o0 a) w# Y然后解压到此处。arm-2009q1/ A, N. \7 _2 c+ \
最后,修改/etc/profile在最后添加上。
9 H2 \6 J2 E, W5 K, @+ oexport PATH=$PATH:/home/arm/arm-2009q1/bin
" W3 A X' J' L" p2 F6 `2 ~ M! M( u
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
! N4 X, i C( `5 g5 A0 Hsudo apt-get install lib32ncurses5 5 l) I0 A/ C t
sudo apt-get install lib32z1+ _$ F2 g, f" m+ ~4 }
/ t, H( K( A i
- V; D. T! |2 i+ ^; c
现在 交叉编译器已经可以编译简单的c代码了。5 E$ y; o: s% a: _
下面我来搞qt arm linux的移植。1 l; D8 o C. Z8 A% a, X+ T
" w" B& X, j, u _% C" w# o下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要7 Y' @( u* F4 }0 i! `
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
7 C' q; P! M# r2 o5 R2 q
0 I- Q6 X* n' Z) \% o' X解压qt-everywhere-opensource-src-4.8.3( w( x1 R, w; K f, V0 G
到它的目录下面。2 R, y. M3 H8 o; Q4 `: o" N J
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 6 M6 b' h; E$ B( d/ ^8 n, X
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 2 _( E. j3 x' M2 ~ x
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- V( F! t1 x9 \% ^1 g
make -j8 && make install
6 s* m d. Y0 M9 z, Larm版的就完成了。
/ B9 w: G# z8 T( B t+ g% b然后再解压一次qt-everywhere-opensource-src-4.8.3: ]( R7 z- m5 ` X+ {, d
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
6 b J% J+ w: _/ rmake -j8 && make install
" U7 j/ d1 i! n9 f$ ~$ I) ~2 r) F2 F! v3 O+ S: P- \: p- v
" B1 F, `9 s- }! j8 ~/ U
配置完成qt-creator3 M) c7 q* y9 t2 D5 I* q8 {
3 { Z; _. P2 C4 H
新建了一个项目; R) c- P$ X, [6 } @
调试发现,x86版本的 发布软件没问题
0 _+ P% a# ^' H7 G- z1 r/ d0 b+ E& U- M# e+ n: r7 X
忽略到所有的,可以进入断点+ D) Q3 x" r! B: b3 [# l; d( D
然后在发布arm版时
1 j! z; [- m1 ?2 \& `6 s' f/ N% E* a8 V
, Q) W7 G O+ Q* |/ u8 n然后我就醉了' E/ L4 Y0 ]- O x
9 J) n8 C$ {* H/ |, C后来,我又装了一个ubuntu16.04的32位系统) ~9 n3 ]& w$ S( \$ c$ q& |2 H
出来的效果也跟以上的结果一样
2 V) q* E2 r. `( U9 m7 t2 zsudo apt-get install libxtst-dev
8 W. ?, j1 v1 `, U6 d3 eecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
1 Y M; j- r9 b6 K) U+ r! ~make -j8 && make install
$ D. s2 ?+ `9 Y
% _- a3 a5 Z, A% w( t) W2 ~cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ . ~, w2 o! k i5 ^5 O+ v+ R9 |
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
8 Y7 k/ {2 z2 {6 Techo -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
( T' x9 i) u2 b. Pmake -j8 && make install) p& O( u# E, H( m
; `# c# u, s% D0 V9 x( _. m E1 ~7 d4 Z" o
: j9 j! `- U4 R: G$ E0 \
( X5 n3 x; u2 u1 y
% J' L. G: r5 C/ _7 z/ t3 g
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|