嵌入式开发者社区

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

作者: tumi    时间: 2017-4-29 19:12
标题: qt arm 4.8.3 代码不能编译通过
本帖最后由 tumi 于 2017-5-1 10:15 编辑 3 k% T# a8 C) ^6 B8 ?, k( ]
/ `1 o' J% ?. b% P* C
我用的ubuntu16.04的64位的系统
  [% |' j; T' v
7 S3 m' x: E; w我的用户名是arm
; l* W, a6 K8 Q2 C5 K我只用qt做一个无界面的软件开发,所以不用移植tslib。4 l8 n; o/ ]2 w+ a8 l0 d4 b
sudo apt install gcc
/ o* w. M1 o' S* A
8 p/ Y, y% S! {* a  i首先安装 arm-none-linux-gnueabi-gcc
- d( h& _( X  W9 t3 A, f+ Z将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz21 L3 j1 L' V+ f4 d  F/ F- ?: `6 c
拷贝到主目录下面
; g. ]$ y' B# H) h; G然后解压到此处。arm-2009q1* H8 e4 c- y9 |
最后,修改/etc/profile在最后添加上。! k5 ?' o+ v6 Z/ U' b) N
export PATH=$PATH:/home/arm/arm-2009q1/bin4 ?: s( b  i  q0 ^
6 X5 k: O4 x, q9 y8 _# ^
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库) |- E% {* e0 M- l% T8 X
sudo apt-get install lib32ncurses5 ​
/ y# w/ C, ?& [1 F- D- Hsudo apt-get install lib32z1% Q+ V: V9 k" q+ z" Q* k

9 O  s; X) S9 _4 k* y  W2 B$ J4 ?# A
' P# ^/ _% j  t现在 交叉编译器已经可以编译简单的c代码了。6 ?% f0 t1 v$ h. `; D3 g
下面我来搞qt arm linux的移植。" M- K+ K8 `: y

( Y1 l9 @% @/ |9 C- J' W% Y下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
8 C( X- ]8 s0 M" P2 |sudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
4 ^5 ~( |! D' r' v' ]5 Q1 G5 o& v
/ k1 i7 y0 o3 N7 |解压qt-everywhere-opensource-src-4.8.3# _, o, X/ q5 V8 D! Z3 {# h
到它的目录下面。
8 f0 }4 L& e0 K1 `6 D: qcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
2 l0 ^) c0 `$ U3 Z9 j0 Z9 ysed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf # Z% [+ @( q& i
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- U; Z. ]0 J1 q/ [+ m9 Nmake -j8 && make install
8 _9 g# u0 a. N- s* S' iarm版的就完成了。
/ r3 ?3 T, \- U' g然后再解压一次qt-everywhere-opensource-src-4.8.3
, \, ~* n. X+ q3 G8 i6 n' Oecho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3  -no-gtkstyle
# s" j( a6 i. w+ [) {) z2 [make -j8 && make install
3 z) Q  B, n: l( ^. y. Z9 X+ q; C, ?, Y
" f7 S7 F2 W" h
配置完成qt-creator
; k" H, D0 J" j2 M% h( t) A' F5 ?% [" M3 n: n' n( x: B: c; r5 l; }
新建了一个项目
( C) b& K6 k4 I调试发现,x86版本的 发布软件没问题
/ d3 F8 |6 I) n( q3 A[attach]2261[/attach]4 m2 F- a/ J) I+ [, E; I
忽略到所有的,可以进入断点# t+ S9 V# U/ V/ j' O/ h: K$ L
然后在发布arm版时
6 U2 L% X3 x+ Z: Q; t[attach]2262[/attach]
- G+ P" f0 u, @
: q" J1 }, W2 m+ |1 l. I然后我就醉了
. T" w# Y, c" a$ r9 h$ M. p
# E" [2 m* R$ f8 }后来,我又装了一个ubuntu16.04的32位系统% l3 c" ]8 s- L* m' o# e
出来的效果也跟以上的结果一样4 M- X1 [% N0 a; Z3 I
sudo apt-get install libxtst-dev
0 `. M5 a! K/ s% |1 ]% c/ _echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3  -no-gtkstyle' I9 Y# U' K5 q9 K
make -j8 && make install
1 \! m1 _) g( ?
7 z( _  s+ n+ r% b4 d+ Lcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 7 R5 \4 m2 K$ t. v6 `
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
% R: A" B) e$ m  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
1 h0 @. d0 V. Smake -j8 && make install% I1 K1 F/ s! `2 w+ A$ j
; e3 s" {; T  j, A" @" F) N) L
4 a% T: T- t: ~; Q. C

' |# H3 _& M) P! L1 S
- |# n/ k4 P+ ^3 C0 G$ K
; a! E0 i+ f/ U) d
作者: human    时间: 2017-4-30 21:12
加sudo操作看看
作者: tumi    时间: 2017-5-1 08:02
human 发表于 2017-4-30 21:12
5 T; q( @' B, E0 d" T加sudo操作看看

* A0 O! c/ \5 H4 [# q 你的意思是把库的编译工作,用管理员身份来搞嘛?我对arm库,搞过了。依然是同样的问题  R$ V) {  F% H; \

作者: tumi    时间: 2017-5-1 08:02
tumi 发表于 2017-5-1 08:02
  k0 B, P  j2 b9 d! n6 J- Q你的意思是把库的编译工作,用管理员身份来搞嘛?

( k% c2 y+ u- A7 _, P我对arm库,搞过了。依然是同样的问题
作者: tenny    时间: 2017-5-2 08:36
mcsdk  里面有编译好的 Qt 库,直接使用即可,不需要自己再编译 Qt 库,参考使用文档
作者: tumi    时间: 2017-5-2 09:28
tenny 发表于 2017-5-2 08:361 f0 g# V7 [! A3 x
mcsdk  里面有编译好的 Qt 库,直接使用即可,不需要自己再编译 Qt 库,参考使用文档 ...

+ e5 v8 y. w  ?  e2 t找了好久好久,都没有找到,望指点
作者: tenny    时间: 2017-5-15 13:40
请致电技术支持




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