|
本帖最后由 tumi 于 2017-5-1 10:15 编辑 1 J; z" F8 G1 W$ }# y9 N7 f
1 _) t0 @: L. t3 S( y) S9 x0 F
我用的ubuntu16.04的64位的系统
! h- G- F7 t T6 a6 o4 K2 X
* O" o+ G @3 s: A( \我的用户名是arm
; W% n h+ w( e$ S* V# o9 i. ?我只用qt做一个无界面的软件开发,所以不用移植tslib。+ }9 _9 _5 j- P
sudo apt install gcc
. g$ j, @7 E: G# K
0 V( N0 H/ n, v) a, y, {首先安装 arm-none-linux-gnueabi-gcc4 e0 S( x! M4 c3 _ E! F
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz28 s" I: @: Z/ ]! c% B" R- V8 a! f
拷贝到主目录下面& U O. |1 U4 @* _5 Y2 J$ B' I- R7 T
然后解压到此处。arm-2009q1# {0 n6 Z$ b$ a
最后,修改/etc/profile在最后添加上。
3 N& {& j' d( y( F! g7 L+ Texport PATH=$PATH:/home/arm/arm-2009q1/bin
/ Z- q& p9 V7 D! m
! ]# V+ u; h" F9 R运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
# i7 Q2 [; G& Jsudo apt-get install lib32ncurses5
6 L; V4 W( b/ X/ ~, I% Lsudo apt-get install lib32z1( Z. d8 F% ~* n P; k; x* {3 Y$ S: p
G: E* f, V7 D) E3 C' @1 ~) c. {
# u7 r+ F9 b q$ S
现在 交叉编译器已经可以编译简单的c代码了。
4 h* _) ^1 Q' O5 k- d+ j' Q2 y' F下面我来搞qt arm linux的移植。4 A* u1 h2 r) c9 i$ c
9 U3 q" p% L' c
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
7 B. T4 E$ l2 @( r! Asudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
/ b C6 l/ m& [# D0 p2 z
0 N4 }4 S' H% N7 Y0 O1 r' D: a3 D解压qt-everywhere-opensource-src-4.8.3
, }9 f, N8 \$ s1 W' }到它的目录下面。- t' R1 ?# B% O6 {2 @2 x4 N! V" K/ U
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
. l5 Z* c, r" Y. i6 U: Rsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf - M, j( j; w) v7 L% }% u5 m
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
( J+ c! ?9 B; Y+ wmake -j8 && make install
/ x3 [0 y9 A. a |2 B2 F* \arm版的就完成了。! @) z" N M q& H& i s
然后再解压一次qt-everywhere-opensource-src-4.8.3% \+ H8 \8 _/ f% c
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle' j `! j5 @3 T# Y' w k9 [) b
make -j8 && make install
6 I$ v8 ?, B: k# I% o: z( m$ ^+ r2 }2 u3 A
9 V5 F) L" q! o( [配置完成qt-creator
# H; ] A" s* ?" c. a% X6 c+ q: [1 I5 ^: B1 p5 Y$ a$ f8 J
新建了一个项目
5 g( z, i. R. r8 G4 a调试发现,x86版本的 发布软件没问题: H/ g: J0 D( f5 s$ U" `# M
" N$ m, G$ Z) c" Q
忽略到所有的,可以进入断点' Y5 c0 h1 X9 s" q$ G o( T) H; S
然后在发布arm版时/ d. r& m- r4 D. n
! {- d4 O& ]7 T& i. e
8 V$ T W% Q4 c. i" Y4 ?# O然后我就醉了/ V3 Q( H% l- z0 @! u& i: K
D+ @4 i4 {9 n8 r" Z1 S后来,我又装了一个ubuntu16.04的32位系统
# u0 l+ B; H* i* D- {; D0 J5 j% t出来的效果也跟以上的结果一样& p4 l; V4 P4 ^8 e; \0 F9 W. m
sudo apt-get install libxtst-dev
6 |1 b/ j7 c2 `6 M9 Y3 Yecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle; p" Q, n% q. X% d$ r/ a( c" M* m
make -j8 && make install
0 _9 r- J2 n' a( e9 d `2 w5 s, b7 c6 ^5 ]; E9 b( e( t. a7 N
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ . [; ^3 m3 W* q1 y. A- h) P
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf : ?. C0 E& U$ z* s! A
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# o8 X9 F7 p4 ?- l5 T4 W
make -j8 && make install4 w9 g( B' o5 _0 p; V2 b
/ l2 c2 l7 { i) x) K8 ?
; e/ n" H" Y: _% ?7 p. ^( {
4 V- n# G1 b" b% H* G% K+ t( u+ x% k( w3 U
- T# Y9 [% d c) w
9 M1 h, T" y9 T& @. z& Y5 j; W |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|