嵌入式开发者社区

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

作者: tumi    时间: 2017-4-29 19:12
标题: qt arm 4.8.3 代码不能编译通过
本帖最后由 tumi 于 2017-5-1 10:15 编辑 4 s/ Q1 l: d! Z  h# p+ \  W

9 ]9 N2 y0 a( Y$ h) W& i7 Y) I我用的ubuntu16.04的64位的系统
! O' `) C- D' u, _* P0 Z+ r
5 z5 n' e3 _7 z& S6 R' p; \/ Z我的用户名是arm, `/ @( ^+ n6 q
我只用qt做一个无界面的软件开发,所以不用移植tslib。
8 `: @2 X8 i, ^6 Rsudo apt install gcc
1 Z0 h: l- o# [/ R2 J! R* o& _1 m3 z2 t  f! K- @( H
首先安装 arm-none-linux-gnueabi-gcc
" e' K: h5 a* p4 A% b- U8 w+ N将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2- ]1 m$ x+ K6 i) Y! f; O9 b  `; {
拷贝到主目录下面" X8 X. O/ Y; @/ o% h  a
然后解压到此处。arm-2009q1
6 W  r/ G* T3 [9 \% F# S' j  r最后,修改/etc/profile在最后添加上。2 ]8 R* i/ n- w6 z  ~3 }
export PATH=$PATH:/home/arm/arm-2009q1/bin
8 ]7 a$ Z7 b* m) n8 [7 j$ P0 B# _& ~9 a% d! \3 B
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库6 n! z: m3 X9 y  e' o4 M$ f' \
sudo apt-get install lib32ncurses5 ​3 O2 W3 s( }; L( r& j
sudo apt-get install lib32z1. K+ M: R1 N4 e
  q/ I* ?. Y! W

5 i  j8 M' e' f% x) E  C! }现在 交叉编译器已经可以编译简单的c代码了。
( b2 O5 ?! K' |下面我来搞qt arm linux的移植。, q- A. ]* z: [; w" t
- l( I, t9 T4 o8 x" l
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要1 x& X: X1 q& c5 A
sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
7 ]9 N, O9 e9 |, I- E/ ]& [! D( p5 J) p( v
解压qt-everywhere-opensource-src-4.8.3' u* I' L0 y$ E6 q9 I
到它的目录下面。% ?# |3 Y; a$ a# [- U) z
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 7 a2 L) K+ m: M& e7 a
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
% c# I! R; z& f4 H+ g3 `+ j! n' S2 necho -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
: |2 p& F. U, }' S! Zmake -j8 && make install3 u) a# c' v/ ?2 n+ v
arm版的就完成了。
4 ~  i, S% R7 t: e, v7 Y# S. f9 h( U然后再解压一次qt-everywhere-opensource-src-4.8.3
5 m$ X, c1 h) }echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3  -no-gtkstyle
/ Y7 Q( h' V$ Zmake -j8 && make install4 z: o7 d* w6 h) t, \- A
6 L- X8 Z8 J( g# z& ^% p: e" i. I5 j

/ M% s+ ?) r4 D9 m配置完成qt-creator% |8 z! V- I/ p% S& N3 R
4 ?; d8 t1 B: q  T8 s
新建了一个项目
8 k; A1 S; \$ J4 {" J调试发现,x86版本的 发布软件没问题8 d4 N2 U4 z9 m
[attach]2261[/attach]
8 N% y; \8 G* F  E7 ~忽略到所有的,可以进入断点
. N: ]' r' k0 Z( h7 p+ I, q然后在发布arm版时
2 A1 B# t4 ?# ^, c& W[attach]2262[/attach]
! d7 e7 g) e/ j: F: D; U  d! |' b2 z. J- H7 i$ P4 q
然后我就醉了
. S* s4 M( P$ d/ r# n0 E0 A) F: I# |6 ?7 C
后来,我又装了一个ubuntu16.04的32位系统' R8 s7 i4 n8 b. {" }
出来的效果也跟以上的结果一样; T! h. F5 H$ a' l$ U4 f! Y
sudo apt-get install libxtst-dev; h" L' V1 ]) @* Z0 C
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3  -no-gtkstyle
! A  `5 I# J7 {( Nmake -j8 && make install
& j! H/ x2 U$ @! L" O
0 w1 ]3 Q" ~* S; V; kcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
! m0 x, b2 f# s$ v8 e& N- Jsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
$ c" `* a% y6 S9 O, L" Techo -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
$ {3 [3 Q/ t/ X! f4 {" N3 u6 U8 Nmake -j8 && make install7 i" g0 ^' o$ `; p$ f

2 O! i' i1 N5 K! Y3 y# a; F$ J  |2 v: a  C8 Y2 w5 U$ ^& g0 P
' A0 A% A4 O; S( M. ~
5 w; ]2 C8 w) g4 F3 B( k% V- S8 d

! ^8 U' y: B0 k6 G2 N! i
作者: human    时间: 2017-4-30 21:12
加sudo操作看看
作者: tumi    时间: 2017-5-1 08:02
human 发表于 2017-4-30 21:12
! p  O6 B  E% d) i2 x加sudo操作看看

/ g6 M6 K" G0 k9 X4 j 你的意思是把库的编译工作,用管理员身份来搞嘛?我对arm库,搞过了。依然是同样的问题6 @/ z: l3 V% G+ @- k" G

作者: tumi    时间: 2017-5-1 08:02
tumi 发表于 2017-5-1 08:02
" J" S; k! B9 j  z: ?3 o9 P0 F你的意思是把库的编译工作,用管理员身份来搞嘛?

& j! H2 m/ A& I1 o( D2 m. a* r我对arm库,搞过了。依然是同样的问题
作者: tenny    时间: 2017-5-2 08:36
mcsdk  里面有编译好的 Qt 库,直接使用即可,不需要自己再编译 Qt 库,参考使用文档
作者: tumi    时间: 2017-5-2 09:28
tenny 发表于 2017-5-2 08:369 f. b' f2 S% l$ k8 t& D
mcsdk  里面有编译好的 Qt 库,直接使用即可,不需要自己再编译 Qt 库,参考使用文档 ...

& f0 L% k  u7 B# i9 O0 i2 |找了好久好久,都没有找到,望指点
作者: tenny    时间: 2017-5-15 13:40
请致电技术支持




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