嵌入式开发者社区

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

作者: tumi    时间: 2017-4-29 19:12
标题: qt arm 4.8.3 代码不能编译通过
本帖最后由 tumi 于 2017-5-1 10:15 编辑
+ E  F! q; l% q' O% S
" w! e( V8 ?' t% C$ z% W8 I! O我用的ubuntu16.04的64位的系统
) d4 K. e2 C8 Y
0 v3 |" \' {+ ~9 y% X8 h' N$ v  \8 ~我的用户名是arm
" K% Y! h4 `+ G1 x" y7 Z6 I' R# c我只用qt做一个无界面的软件开发,所以不用移植tslib。" {6 e/ M& ]" C
sudo apt install gcc
* A5 B1 {; P3 ]8 ~/ z$ I* G
; m5 N3 f: ]$ c3 K首先安装 arm-none-linux-gnueabi-gcc
1 ]+ W/ x. N2 s/ p将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz20 r$ b0 R7 w: S
拷贝到主目录下面2 e7 F: C. f' z9 v/ E
然后解压到此处。arm-2009q1
* o3 S- L& f) I0 @% ?% F( z+ l最后,修改/etc/profile在最后添加上。
3 I2 v: v, _/ O0 V! U" wexport PATH=$PATH:/home/arm/arm-2009q1/bin
# }4 o% m5 V6 b+ ~) X' Z- n& _$ G' u# p: X
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
+ I* d- `8 t7 E/ vsudo apt-get install lib32ncurses5 ​9 h4 k& _& ~+ c" j7 `* E( X
sudo apt-get install lib32z1
2 a: s( R$ y+ x  F& h4 C0 B& q1 T6 _. e7 c

1 |  H% _  o4 D现在 交叉编译器已经可以编译简单的c代码了。
% z3 Y1 p) @0 j# G, `0 @& ?% I下面我来搞qt arm linux的移植。; M8 X2 S* d" m" K; T: l9 A; N

% {3 W7 J5 }, n" Z下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
# U  a% i# w! u, Bsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool( T  p& N9 k( Z' H

+ P) w  X+ b' [. p解压qt-everywhere-opensource-src-4.8.3
" r. H. |- B( ^! O  ]: j* e到它的目录下面。
; J. q7 q! i1 D  O7 @7 q/ R! b1 @cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ , K* `" A* y/ a1 p5 B
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
9 i" o$ F; ]0 O! G) ]3 R& B+ vecho -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! S6 W2 ]" X% q* M. N$ h
make -j8 && make install3 B& N, a/ J6 j9 j/ M1 B
arm版的就完成了。& _1 _" G/ m' F  L2 o8 k
然后再解压一次qt-everywhere-opensource-src-4.8.3/ N/ D# Z" i7 B# ^. ]
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3  -no-gtkstyle& e; U9 _8 J3 K% E6 v4 t; a+ f9 \
make -j8 && make install5 r" S* ^; C- l1 R1 m

5 O1 R" U7 a% v) A/ ]; q) T- F3 [! N9 ?! m; {  `! V
配置完成qt-creator  M0 e: W& J0 E( f/ T% D5 E
" o4 T3 T. d$ N( a
新建了一个项目5 J0 f# R* P( S, z4 Y! x
调试发现,x86版本的 发布软件没问题
( W+ X. v- C! w0 h8 D4 ][attach]2261[/attach]3 f5 P- C9 A( U. b6 M
忽略到所有的,可以进入断点
* u! }# D1 G) ?$ }7 I9 n$ g" a然后在发布arm版时1 I* w' j) f/ E
[attach]2262[/attach]
- z$ l* r1 ]+ y1 m$ n# w# J9 U' S  n% ?2 Q: g4 D3 U& E" t! m* M* Y
然后我就醉了8 n' v" V8 f- s& j/ Y

* Y" b, V# n3 Q后来,我又装了一个ubuntu16.04的32位系统6 q' o8 E9 u- H% `' K4 Z( a
出来的效果也跟以上的结果一样
' @- e8 N$ }* @/ hsudo apt-get install libxtst-dev) V% \( ^3 `$ ]. C3 }0 [1 ?
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3  -no-gtkstyle/ G8 z- v1 G: W* X; b& A
make -j8 && make install" A; i: \$ ?: A6 x+ J" z, @
2 X, v- ]: H8 H% _
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
9 F4 O( Y" Y* jsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
0 P- t/ m$ U& t4 }# u% q% _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 E8 _! }7 j, T( g  F2 Y
make -j8 && make install
. Z  w6 j5 M( V9 A3 @! Z4 q4 U
( p. |- D: e5 F( V1 k, R. k4 n) g& z4 E& U
; m; K9 z7 U- X% }% N- d. ^3 @, x$ i, l
2 `/ r# m; y: s  r- P$ `" F
" M4 a! \0 @' g* i  u% t

作者: human    时间: 2017-4-30 21:12
加sudo操作看看
作者: tumi    时间: 2017-5-1 08:02
human 发表于 2017-4-30 21:125 D* m3 V9 z! _& G
加sudo操作看看

! N' E7 N$ x6 i9 Z' f 你的意思是把库的编译工作,用管理员身份来搞嘛?我对arm库,搞过了。依然是同样的问题# m7 v  D$ S% N

作者: tumi    时间: 2017-5-1 08:02
tumi 发表于 2017-5-1 08:02
, ^8 v" d; O5 T) s& ?  k: D你的意思是把库的编译工作,用管理员身份来搞嘛?
5 j: i  M; D- k! E8 s+ B1 m6 Z: b: |
我对arm库,搞过了。依然是同样的问题
作者: tenny    时间: 2017-5-2 08:36
mcsdk  里面有编译好的 Qt 库,直接使用即可,不需要自己再编译 Qt 库,参考使用文档
作者: tumi    时间: 2017-5-2 09:28
tenny 发表于 2017-5-2 08:36
7 i( Y1 s1 A: k# P1 Umcsdk  里面有编译好的 Qt 库,直接使用即可,不需要自己再编译 Qt 库,参考使用文档 ...

7 R7 f; G9 V7 U* {2 H) U" d* ?+ Q找了好久好久,都没有找到,望指点
作者: tenny    时间: 2017-5-15 13:40
请致电技术支持




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