嵌入式开发者社区

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

作者: tumi    时间: 2017-4-29 19:12
标题: qt arm 4.8.3 代码不能编译通过
本帖最后由 tumi 于 2017-5-1 10:15 编辑
" P! m* y( Z  L! e( E: p  o* G+ V' {8 i3 |
我用的ubuntu16.04的64位的系统
/ Q( q- f5 o* s+ N
7 Y6 K- _8 F) d: I4 u5 f- r我的用户名是arm
) L- P" h% d4 ]) R5 f) B% F% E7 u我只用qt做一个无界面的软件开发,所以不用移植tslib。
. T& t3 }; s( u- {+ Rsudo apt install gcc: [$ @. W5 h0 L( N. L8 P6 D  j
; n7 _' q3 {* {
首先安装 arm-none-linux-gnueabi-gcc( g; y- k* B5 j, _
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
+ b% A& b7 u7 }/ ?5 e拷贝到主目录下面3 S  m- v6 {4 }! L0 g
然后解压到此处。arm-2009q1
( r& N" _1 Z8 J$ a最后,修改/etc/profile在最后添加上。
$ |$ X  U9 L/ N  N9 zexport PATH=$PATH:/home/arm/arm-2009q1/bin
  d  `: a1 K* n( M6 a
- f0 P4 l, q& x5 Y运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
3 s0 T, `6 n9 G0 s" s% e8 u$ G3 B; Usudo apt-get install lib32ncurses5 ​/ k9 I6 `0 t; L5 O* O/ K
sudo apt-get install lib32z1: W* C: l' J1 P* R! V% W
, b6 I0 n: ]( y- l( \$ r8 C2 c1 {

, |# D' `# t0 Z: U现在 交叉编译器已经可以编译简单的c代码了。
/ b) ^5 p3 u' |8 W下面我来搞qt arm linux的移植。
; |: ?5 q" J- @( k7 R1 A/ ?6 V9 L; }. d: f( t
下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
( K0 d  @# R! psudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
+ \! [, z' ~0 i% I. ^
5 Y, C/ [0 D4 Y+ Y解压qt-everywhere-opensource-src-4.8.3
! ^, ~) ~0 E$ z- z6 M; |! @! e到它的目录下面。
8 }' U0 D  t7 pcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
8 T% s0 N* m2 Hsed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 5 [+ U+ c" c/ R" P5 X
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
, I- v7 T8 W' F: s/ q* Q5 a, Imake -j8 && make install" V% H5 \2 ~" M/ e8 X
arm版的就完成了。
1 F+ g% W8 f& a1 S* R6 M& s9 X然后再解压一次qt-everywhere-opensource-src-4.8.3
# R1 L0 k" [% N- p+ necho -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3  -no-gtkstyle
* G# J) ~2 j; E5 l8 D6 Amake -j8 && make install
7 m1 H% Z, v* l) Y' u: ?% d9 ~) E+ V  q. o! n$ W3 Y! H* `
  I) S' Z3 z' g0 x+ {
配置完成qt-creator  u8 m" O: P( |' b$ v
& r; U# O0 f; D7 V  z7 Y
新建了一个项目2 }8 I, f! l5 b2 G5 B: J6 u8 m8 ^
调试发现,x86版本的 发布软件没问题2 W* E4 D3 M- P
[attach]2261[/attach]
# [' P% [# @4 L' r忽略到所有的,可以进入断点+ Z5 U. T: M* e
然后在发布arm版时
! ~( ~- q7 ]' t: g' [[attach]2262[/attach]
$ E: m& D2 ]) S5 y
7 h3 ]# T7 ]# u+ }! |然后我就醉了/ v6 i& ^- u0 Y  C& N
, d$ c0 R$ {9 V5 \* l; {
后来,我又装了一个ubuntu16.04的32位系统
' m* ~$ s  Z* c- A" D' t% c出来的效果也跟以上的结果一样6 d$ a3 s7 M- U7 |; z& M5 }! r9 o
sudo apt-get install libxtst-dev5 e8 |- Z# v. \* u
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3  -no-gtkstyle
3 K$ g) x& t7 C7 B# U4 D' [& `make -j8 && make install
8 r3 |* K, i9 @. t9 v9 n1 p* D0 F( x) _/ Q, T
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
& o3 c) A, O+ K4 E8 s# Msed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf 4 f+ p  I. O3 N' K1 V
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
( p* _4 P- D, S. j5 o7 @# y8 ?make -j8 && make install
1 e, n' Y# j1 p2 ^' Z8 Y2 W( W- h; Z3 e4 I% O) y

$ \% }" R3 g* j) Z2 m, v
6 Z: I1 M, G# V) d4 v1 R
; e' n4 [# u/ \7 Y4 g4 v6 G6 E0 W4 Z% Q& z4 ?

作者: human    时间: 2017-4-30 21:12
加sudo操作看看
作者: tumi    时间: 2017-5-1 08:02
human 发表于 2017-4-30 21:12
* j/ }% H: U5 O; _加sudo操作看看

  s9 C' V, }- L* i8 n 你的意思是把库的编译工作,用管理员身份来搞嘛?我对arm库,搞过了。依然是同样的问题
+ o' @. L* |0 {& B
作者: tumi    时间: 2017-5-1 08:02
tumi 发表于 2017-5-1 08:02
- ]3 E. K2 j  D; X' l; s7 o: W; Z你的意思是把库的编译工作,用管理员身份来搞嘛?
. L- ~% g7 s, n/ [6 q+ c: q
我对arm库,搞过了。依然是同样的问题
作者: tenny    时间: 2017-5-2 08:36
mcsdk  里面有编译好的 Qt 库,直接使用即可,不需要自己再编译 Qt 库,参考使用文档
作者: tumi    时间: 2017-5-2 09:28
tenny 发表于 2017-5-2 08:36
& j9 d* S) o3 v8 Umcsdk  里面有编译好的 Qt 库,直接使用即可,不需要自己再编译 Qt 库,参考使用文档 ...

" `3 t. K' d3 e6 r+ ^! F找了好久好久,都没有找到,望指点
作者: tenny    时间: 2017-5-15 13:40
请致电技术支持




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