|
|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
" l- w- S6 N4 y3 T, w5 d8 ^1 D0 r( z" X" {! w1 C
我用的ubuntu16.04的64位的系统
1 y% @" C+ o+ M, h7 h& Z& t
1 A: _# {# Y0 g3 y% q/ v4 K; N* e我的用户名是arm
+ N7 i" P7 J& w# G, \9 l; m我只用qt做一个无界面的软件开发,所以不用移植tslib。7 w* o8 Q7 m" a$ `7 y: } Q" s" N3 V0 w
sudo apt install gcc/ A) l: F5 f, E, m: b9 }7 [3 `* k
" v9 f+ p, `9 ^+ T) `+ n
首先安装 arm-none-linux-gnueabi-gcc
/ C/ m) r7 u3 C* p9 e& d0 }: w将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
2 x$ t( A- h8 M6 A# m9 t4 t! a拷贝到主目录下面" A! O9 h0 q7 [8 V# ^, N: c S
然后解压到此处。arm-2009q1, Y8 h# x/ o% P. m+ ?
最后,修改/etc/profile在最后添加上。
/ p2 I5 R p6 y- w& E& v( T% `export PATH=$PATH:/home/arm/arm-2009q1/bin
* p% d+ a+ N- n* U9 @; p6 _( Z+ F. ]* d+ e' W
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库0 N0 Y6 k+ X% [0 O( D0 U$ j
sudo apt-get install lib32ncurses5 . K; x* x, p2 T' e% ~ [
sudo apt-get install lib32z1/ E: B! X; H& s" q3 l S2 L+ K7 b2 v
- B: f; N4 q- x* e% R1 s% z
+ p# @- f8 A6 k6 p) R, W9 N
现在 交叉编译器已经可以编译简单的c代码了。& E! x7 f. ?# N$ v2 @
下面我来搞qt arm linux的移植。6 N7 {/ n: h* u
6 v# E6 H; q& a! k( D下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
! {, x6 o2 Q3 w/ q v* S: ]sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool! J6 [$ U" j q1 ?+ o v3 R
% z+ G% h! g+ U1 X解压qt-everywhere-opensource-src-4.8.3
; u* T# I; k1 a4 o7 B6 x( i到它的目录下面。, C. l& K) } p7 \
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ x" h) y' d8 w Y
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
, G. i G8 ~: U2 T4 decho -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
; k( \; Y1 U! p* V" Vmake -j8 && make install
! E: H$ p' J( Carm版的就完成了。6 Y7 g. F7 H/ R1 A) i5 s2 l1 }
然后再解压一次qt-everywhere-opensource-src-4.8.3" _+ Z% I" v- o
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle2 H4 A$ ^6 G; f4 o% v* U8 A2 {
make -j8 && make install5 m/ x" g5 a' V& t! r4 _5 p
. }# H7 S- K5 h6 ]
* W0 U8 J$ l! A+ ?3 Y* s配置完成qt-creator
7 q# h! N+ V% R7 W7 N1 R/ P' R" {. ~
5 v% l# R& ]* p" G; z1 t6 \: A( u新建了一个项目, S# I7 I- W' U, R3 B" M
调试发现,x86版本的 发布软件没问题7 Z1 i; n$ S [: ]7 n# ]/ @
3 K9 p% _5 s9 L4 k9 ~ u" D) W5 P忽略到所有的,可以进入断点
3 L* f0 s1 P& f {- v* O4 }* Y然后在发布arm版时' p" n' h3 R' D# s6 |1 y
9 e! [+ ^9 ^) K6 b8 W+ `
0 y/ _$ F9 O& h) L2 x. z然后我就醉了
3 T$ u% z( o# i2 V* ?
- r! ]' p; v( A M后来,我又装了一个ubuntu16.04的32位系统
6 x$ G& K- m, d# {6 D% P出来的效果也跟以上的结果一样
: O% l+ r* R& }sudo apt-get install libxtst-dev
+ j: J, q3 c8 Hecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
7 @ @$ ]: J- Dmake -j8 && make install
7 q2 m& b1 C1 d0 C7 F3 ]
; e' F) d/ h' Acp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ / w' j9 L7 e! M9 ]9 S/ ^- ~$ Q; ^
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
7 U6 h% i+ J5 U+ o* kecho -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
$ K; p# K- c6 U3 D/ ]" w; Smake -j8 && make install
0 F! u8 D! R; V* O( {) i: K: e4 {4 c2 @( b
1 N, B+ s9 O+ A# b2 D1 p+ r
( Z+ ?2 X- |6 c6 P) G7 A' {6 \( C
' e1 ]# @1 h; U* p+ o7 Y" j2 b5 M! ~5 g2 G. m2 d, z. t
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|