|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
, a7 N# R! q) u6 b
+ k, U; |3 V% x; {4 \0 n/ e# A& g我用的ubuntu16.04的64位的系统" C9 P! K, }4 E0 d* z: ~; B
& |: P5 _4 G0 q1 }3 e% q% C我的用户名是arm2 ~7 O- _" d! Y7 T
我只用qt做一个无界面的软件开发,所以不用移植tslib。4 s2 u2 \3 x; \9 O+ |0 N
sudo apt install gcc
$ G6 p/ T# ?0 Y: q9 M) A) A/ h) K+ ]
首先安装 arm-none-linux-gnueabi-gcc# c* L0 O1 [# p6 g
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
( Z$ Z$ N0 d! m( u) [拷贝到主目录下面
g9 d3 ^" ~6 ~1 L( }- K" O% q然后解压到此处。arm-2009q1
& T( M6 ^- \9 c! }& r" r+ [8 D最后,修改/etc/profile在最后添加上。
' B7 v' j2 t: bexport PATH=$PATH:/home/arm/arm-2009q1/bin, S s( n4 r* f/ J* O
) w6 [- E3 k: B4 e5 J& U运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
5 z2 K$ e) U6 M s6 E' _* vsudo apt-get install lib32ncurses5 . S! ^9 ~# o1 }. B3 M& ?: G8 D4 ^
sudo apt-get install lib32z1
% E5 `6 Y: p9 C8 S& P( [, [; C8 @2 \' j9 D
( z6 g1 r4 \; _" d6 m- q v8 h) \$ O现在 交叉编译器已经可以编译简单的c代码了。4 a- y' |5 R! w
下面我来搞qt arm linux的移植。
' Y; M, l+ r; L: b9 h/ @5 _* R1 s! ?9 Z5 W3 x3 Q j. J
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
5 ^% @% M' A3 z V, l: }sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool5 R5 O5 }$ I! w+ m$ _( k" u/ J
! x1 f. m' ^& d/ j* E解压qt-everywhere-opensource-src-4.8.3. p$ X Q$ I- ^" u
到它的目录下面。
# G( |+ A I1 y$ Mcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ ; O. B; f5 N; V' Q4 M6 I1 T
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf / n. F+ n$ h8 ` g) I) G! P
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% p( E" d' w2 i- R
make -j8 && make install" v& g; G3 K' t9 B# \; k
arm版的就完成了。
! E& _2 @1 l8 W- K& k: W然后再解压一次qt-everywhere-opensource-src-4.8.3
4 @/ [: s: R' l& M+ k ^# ~" X! g. jecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
D8 D" x, U+ W2 p. }# nmake -j8 && make install9 r; l- O* P; F2 ^) D8 o
( y/ j+ u% g, c* e. b4 A
* `$ u. f! r6 K8 W9 j$ K( R配置完成qt-creator
1 _9 e0 V. V% \- A# K" N5 _4 y2 O: F' u# M9 y A. F L1 f/ C9 m* d
新建了一个项目
5 w0 v7 ?2 w, e9 b) t调试发现,x86版本的 发布软件没问题# n5 p- f8 j. q3 v, o& z" `
% ~; R/ {4 M Q# A1 q1 p
忽略到所有的,可以进入断点
& g: e& o! D5 V6 ^. y然后在发布arm版时* o% X5 {) M$ P/ G% C
2 _' z3 X [* u" `. N0 O8 l K1 U
: j) L) B5 Y* p5 }! `6 t7 l然后我就醉了
6 v/ |8 ~ u/ q1 R9 Z- a. n* K6 Q( Y+ q
后来,我又装了一个ubuntu16.04的32位系统
2 o7 y. h$ s5 B/ g0 Z8 f0 q: [出来的效果也跟以上的结果一样
# B, r; e6 V8 r% K# g# Ksudo apt-get install libxtst-dev+ `( N% e2 u" r% _) L
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
# o$ Z6 ?3 p7 m A+ r) ?/ lmake -j8 && make install0 P" T' A" Z. s! Z/ O4 n6 A
* x6 `9 ^1 j; \/ @ R9 p! |& f, B
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ / D/ H1 {4 O m* g- w3 }' z; W
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
; w" i% ]6 @7 V \, Becho -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) a7 t# o) `8 o+ a; e; u
make -j8 && make install" _# R* A, _9 u, a
; d M% H4 a1 g. ~4 D; ?# d
; F t3 r! E; N* L* ?: O! ?* W P1 [* [3 l$ l
( R4 X& A; F1 w4 ?1 M3 x( n- n" H
8 T# U( ~: p# S& S: f |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|