|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
4 I" M/ K! }2 {- l1 E% q4 U$ p6 r, l# T4 x
我用的ubuntu16.04的64位的系统
6 }7 p" S# q: s: ]. \* v' t0 k, n" Q8 u/ N, z) d/ | j& ?
我的用户名是arm
& x$ @3 o5 [4 E4 g/ V0 Z* A我只用qt做一个无界面的软件开发,所以不用移植tslib。 K/ I- o1 q' }" @4 y% N- o; I) t
sudo apt install gcc
7 r) e2 E$ ~& [7 L" h0 v: |
5 {9 y! j% ]2 j9 w; o- m! |首先安装 arm-none-linux-gnueabi-gcc# S6 y6 j5 X9 J, v
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz25 f* b9 k: f: ?" K( ~( _! o) R3 R% ]
拷贝到主目录下面
! u; v8 q3 x) w- N& J/ i" X# `然后解压到此处。arm-2009q1
5 S' K1 L5 w# k+ z最后,修改/etc/profile在最后添加上。) R5 O" h8 _6 F5 Q3 \
export PATH=$PATH:/home/arm/arm-2009q1/bin
8 f4 f# u$ m- M' _5 i% q1 b" l% e# H, x# Z4 i, [5 `
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库. c, p+ @1 T; V; a9 @
sudo apt-get install lib32ncurses5 ; N$ K. L' j' J. n
sudo apt-get install lib32z1
6 X/ R9 Q# k2 ]$ G4 Y% J0 x" W0 \, V+ _$ H' t' q0 R5 H
9 @6 N6 W: ] y% E现在 交叉编译器已经可以编译简单的c代码了。
/ S) T' I/ G% _/ j/ H: L下面我来搞qt arm linux的移植。
5 M& q4 A# d5 Y! l" T/ z7 o. e8 A
; _' K. w1 L7 {/ _9 }+ T下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
# V4 u. i; Z! v, ], Esudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool0 E/ m4 S! S9 O% G
/ ^$ p. y) j( `9 p: V9 `- t) u
解压qt-everywhere-opensource-src-4.8.3
1 X1 o6 ? ]; v( P* |2 |+ a到它的目录下面。
' A, L s! Z& _cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 1 J# x/ U2 s: s) k
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
0 a" Y0 k! c' |# ^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
* P; Q7 d; T' ~4 U9 S- X& {; _make -j8 && make install1 G, W" N, d- M/ y' s
arm版的就完成了。
' t1 S' z L1 Z7 P/ B( V3 ^7 _! i5 m然后再解压一次qt-everywhere-opensource-src-4.8.3
$ n# W, X5 R8 m! n. r9 g- \echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle* }( \% G- W; P% H% s# q" T
make -j8 && make install
; I7 ^) n' Q5 U$ r5 ?. B/ `4 S; H! f: C6 F) B
* }8 ]9 K2 T% K. `# o
配置完成qt-creator
6 T% \% H! C+ O8 @9 f; T; {1 K+ s% f$ t+ @, S
新建了一个项目
7 m& Q' U0 O2 w1 W* z' ~0 Z调试发现,x86版本的 发布软件没问题' V$ P- Z& Q6 C
! H+ ^1 v/ D+ ~" w0 X* Y忽略到所有的,可以进入断点. l9 N6 }+ M: D1 R( y! \
然后在发布arm版时
+ ?2 Z! H# W2 Z9 c8 t6 K( J: c* n
$ ]8 l, r/ N0 q. [. @: L! l
然后我就醉了
2 d4 }5 s9 e q: o* }' l& w4 M) k9 r
后来,我又装了一个ubuntu16.04的32位系统
, Z# R7 D6 r9 S1 A出来的效果也跟以上的结果一样7 t5 w! N$ {: L1 G3 I
sudo apt-get install libxtst-dev
1 {; G; |# {; N( m4 oecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle6 i8 w4 T9 S5 c9 F
make -j8 && make install
H3 M8 M' a( q. |
: ^( h2 j+ B+ r3 t& ^& u; Dcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
3 {2 H5 W! Q& I" S" |6 _sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf * _) I! m+ D5 v. O" ^
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
3 N T$ }3 u# l& Jmake -j8 && make install
" ]$ C! \7 r* _% l: d, {, s7 Z" ~8 z6 i8 ]* H
! M+ @8 O {( l$ W; T+ k
! v% R: Z0 O: o [6 U+ N+ o: V$ T3 l/ m* K. t3 l5 R& T
# G" y6 ]/ o9 s' O s
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|