嵌入式开发者社区

标题: qt arm 4.8.3 代码不能编译通过 [打印本页]

作者: tumi    时间: 2017-4-29 19:12
标题: qt arm 4.8.3 代码不能编译通过
本帖最后由 tumi 于 2017-5-1 10:15 编辑 # b0 X7 U- H% |: @( J7 s

+ S% i6 b& D1 T3 R我用的ubuntu16.04的64位的系统
9 V0 T0 v$ U( _) \& H. N( o
- ?3 i! }) @$ M我的用户名是arm
4 D4 P! L) c0 }6 y6 W  o我只用qt做一个无界面的软件开发,所以不用移植tslib。; n2 X9 |* ]: N/ h& @6 O
sudo apt install gcc
+ i' ^/ r: {  w9 Z
4 H: o, b7 C2 n  t$ q首先安装 arm-none-linux-gnueabi-gcc+ t# T; Y! R/ n! j
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz24 C5 \1 ]2 o% i( O+ \$ S% N
拷贝到主目录下面
# y; I* N2 \$ M然后解压到此处。arm-2009q1
. Y" G$ B7 i" }3 B$ t9 X1 j+ s最后,修改/etc/profile在最后添加上。4 ~! _" f* J' l; G/ X9 \
export PATH=$PATH:/home/arm/arm-2009q1/bin
+ p* P, P+ w# m% Y) V0 Z9 H" A$ z' j  l7 @
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
3 T7 Y, _" v6 V" |6 q& q4 f' ssudo apt-get install lib32ncurses5 ​0 r9 b) u4 \7 h
sudo apt-get install lib32z1
$ K7 i/ o3 a# p) B+ H! {, r. A/ H- J: l  W& h

0 H& M2 [2 _. A+ q5 t! J$ x现在 交叉编译器已经可以编译简单的c代码了。5 V; E* m7 Z% `; `" k
下面我来搞qt arm linux的移植。, s( J: @, u- \' V/ `
9 `6 \4 U# ]+ x; ]0 q3 X
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要, V( a) `- F1 Z0 b
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
$ p. ^8 r# ^+ k0 m$ @- V
* j/ ]9 E8 {, C; z" w* d解压qt-everywhere-opensource-src-4.8.38 N) o+ g+ e: u$ A. D# m% j7 y; C/ d
到它的目录下面。
0 T* F$ Z* P  F) S9 Ecp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 7 [9 ^* f, ?( h% Z) a
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 2 y1 V. n# X! m3 R3 o5 ]; z
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 E1 K) V2 T: k2 `' e- N: E3 |
make -j8 && make install0 z2 b' j( N  E. f& r: f6 d
arm版的就完成了。
& |# ^5 V. h' W8 s3 Y; P然后再解压一次qt-everywhere-opensource-src-4.8.3
% ]4 ?+ q; x$ q4 a: }( Lecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3  -no-gtkstyle' z6 ]* R$ {* O1 S" p
make -j8 && make install5 ~! x5 X( M4 Y% l) [) @
9 y- n* A3 R; Y9 v% f9 d
6 D8 H! h$ T, g# @, H4 G
配置完成qt-creator% N/ p( Y/ P2 Q: |

% g* f9 H4 T0 A+ O3 M3 W' v. a1 N新建了一个项目
! \9 n- `; V0 p4 w% H7 q# f调试发现,x86版本的 发布软件没问题$ M, y8 O% P/ a, y/ P+ C$ O, |
[attach]2261[/attach]- m) s  p- A: a) D% u7 @1 c2 J
忽略到所有的,可以进入断点9 g5 |; X. S3 v# p5 p' ^: v
然后在发布arm版时
- s7 r" y3 |) H8 y% k: J4 A[attach]2262[/attach]9 U1 ^5 N  ?! b2 p; r) N) c
3 G& J6 v) Q- H& ?6 |% w" Q; f6 `
然后我就醉了! y8 g2 }5 i: g) O

9 I# Y* a; o) k" y: C- I9 p后来,我又装了一个ubuntu16.04的32位系统
" P3 _) K/ N+ j8 ~. c7 L5 W( p, e出来的效果也跟以上的结果一样$ K- L& Y2 g* v* Y5 A# ?" U! c
sudo apt-get install libxtst-dev
, A& p' f5 b$ Mecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3  -no-gtkstyle# z0 x4 S& x/ d5 a% f9 x3 |- l6 p
make -j8 && make install# s$ f! \, D; F9 \% ~6 V! [, N7 Y' L

& ?% {) n, z( F" L, fcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 8 X, D3 Z- V4 r! p- u. g( U, Q+ l
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 7 k, m2 G2 Q6 v0 |
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$ E" ^+ c! S) l1 z* d
make -j8 && make install0 F- o' o0 ?# \& O& X/ W- B
$ Z3 c1 G; f) ~# G
" Y  B1 P- O$ p. }

" V9 h( ^- y7 L7 A& t! \! ^/ L8 B1 C! N+ ]5 _

. {, q* u7 b/ ~: {+ p4 w' }
作者: human    时间: 2017-4-30 21:12
加sudo操作看看
作者: tumi    时间: 2017-5-1 08:02
human 发表于 2017-4-30 21:120 w. W3 q# ]- V* a- y, ~2 l+ R
加sudo操作看看

. @; f/ w! X* c, a 你的意思是把库的编译工作,用管理员身份来搞嘛?我对arm库,搞过了。依然是同样的问题" B2 p5 O2 h3 x" h5 i$ k) i

作者: tumi    时间: 2017-5-1 08:02
tumi 发表于 2017-5-1 08:02
9 Z2 {4 H* H& E! o你的意思是把库的编译工作,用管理员身份来搞嘛?

0 V2 E) [' C) x' d" u我对arm库,搞过了。依然是同样的问题
作者: tenny    时间: 2017-5-2 08:36
mcsdk  里面有编译好的 Qt 库,直接使用即可,不需要自己再编译 Qt 库,参考使用文档
作者: tumi    时间: 2017-5-2 09:28
tenny 发表于 2017-5-2 08:36! s' @2 ^+ ?& z4 P0 e. h
mcsdk  里面有编译好的 Qt 库,直接使用即可,不需要自己再编译 Qt 库,参考使用文档 ...

% r) J/ Q( y; M* G找了好久好久,都没有找到,望指点
作者: tenny    时间: 2017-5-15 13:40
请致电技术支持




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4