|
|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 8 a3 K% t; B5 _3 ~- ^ G( ~, ]
" \, h+ o) ?1 v+ B+ v7 I$ H g: [我用的ubuntu16.04的64位的系统: M2 A- N Y: @0 o+ K
. E3 x: D j# K1 v3 p/ e% W
我的用户名是arm9 }9 e g4 u+ _+ x% n1 x& h: y
我只用qt做一个无界面的软件开发,所以不用移植tslib。
V1 q, W1 ]& w g' w& Csudo apt install gcc. l' R# t2 p, L4 G' L; J
( y) a6 {# C) M% ? @: E8 ?
首先安装 arm-none-linux-gnueabi-gcc
/ V5 J2 }& h j, n- M+ R% k$ @将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz25 ~1 @' w' A: ]* f
拷贝到主目录下面
9 k, z2 g/ \2 f* p: N% Y然后解压到此处。arm-2009q1: ~6 k7 b4 u& {) j- O
最后,修改/etc/profile在最后添加上。
3 g9 V- ]8 P$ q5 \3 _6 V6 O. eexport PATH=$PATH:/home/arm/arm-2009q1/bin
/ ?8 x8 [2 S" |: i3 m
7 l$ e$ Z6 U- L1 d3 r运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库+ v C+ b3 z! u
sudo apt-get install lib32ncurses5
1 u) M! ]5 k( \2 p; K+ u5 @) i* Fsudo apt-get install lib32z1 y+ q. [0 y9 z) R3 \& N
4 H/ h. h/ Z; k( Y
# i; v4 _( _, S) J' P现在 交叉编译器已经可以编译简单的c代码了。4 r/ W/ L0 l( W- {: C$ n
下面我来搞qt arm linux的移植。% f* r, N+ ?% k0 l$ e+ p4 ~9 h7 y+ e
. I8 z( p' ^7 L, m! K' M
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要1 A/ ?5 j4 d; j% Q. [
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool+ |- W/ P# k2 Y: Q8 Y( `. R# h7 W
! ~6 O& s: c7 L* ~" j; p( M8 e- V
解压qt-everywhere-opensource-src-4.8.3
7 F8 H* D7 S( K; B R, T1 y到它的目录下面。% L5 j" ^, O& q& {
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ ( w; @* Q. Z3 C2 o* ~
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
$ v' P6 A8 Y$ G0 a% K5 }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; u' k5 f$ ~ Y& R3 d
make -j8 && make install
! B& H2 [& o- @& O" X% O4 warm版的就完成了。! {) D3 }" b, s
然后再解压一次qt-everywhere-opensource-src-4.8.3) o9 ~0 ?; v0 L! o: Q
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
& Y5 }: P7 l! O/ y0 Umake -j8 && make install
/ _: M, n! {, ]' `0 Q4 c
) g/ A# o- r6 f3 c/ e
' R( u9 ~# f/ `- h7 l" {! j5 d% n; M配置完成qt-creator
/ k- H' t3 L, W2 c! F$ I9 L3 T1 R- {
新建了一个项目0 c- B7 c! t0 o! N
调试发现,x86版本的 发布软件没问题
! S% s% n5 B) X" K
2 f) O/ d0 Y; Y# }/ c' z' ~忽略到所有的,可以进入断点
8 }9 e1 s ]' x7 D8 H2 B然后在发布arm版时- i7 i3 K2 l* a" |( Z# H5 ~
: ^3 d# O. ]1 \6 P$ A( n# d
7 w C8 d8 e5 h1 q+ h/ d然后我就醉了+ [3 ^/ s; X& {* g) r
. Z5 E& z6 Q+ u) S% f/ l后来,我又装了一个ubuntu16.04的32位系统
k9 O+ U3 P& |* D出来的效果也跟以上的结果一样
2 ?& R Z4 S/ }+ a0 b" k4 osudo apt-get install libxtst-dev
4 n j6 y# V$ ^( hecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle5 k1 Q( x3 H$ B! ~4 C
make -j8 && make install
+ l% \" Q% }$ M& {7 b; W# p4 [9 X
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
" i) ?, h \0 A( F/ d2 V% o/ esed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
9 S7 l4 T q/ r5 K) @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* C, ~0 ]- O+ o! y3 {
make -j8 && make install: ~; h; J* b) r: v* C% F9 h
" \2 i- _- \" b% c3 l
* r# }' Q: f5 t1 q: I5 t# e7 P3 t, t) E8 W2 k
/ d2 D, p) H! H, O O
5 C* V' A% L, T4 y- h |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|