|
|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
0 V/ n* u) \% a9 z, @
6 G+ b$ P( I$ C6 I: F6 {! I我用的ubuntu16.04的64位的系统
+ Z0 i/ O, G' o+ J! c8 F' \8 \/ ?& d" X
' p: G& x: l: n8 [6 b+ Z$ |我的用户名是arm
9 F, R# }2 b" i- p2 Q" L我只用qt做一个无界面的软件开发,所以不用移植tslib。
+ m8 j+ G. r$ Ssudo apt install gcc
1 y1 k4 z% E. v5 E* @" a8 {0 N/ H5 R- [. z, \0 C
首先安装 arm-none-linux-gnueabi-gcc2 Q: A- O- P% f3 ?$ ^' m
将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
4 C* T3 C1 g3 ]( Z拷贝到主目录下面6 T- E, Q3 n! i1 P* f
然后解压到此处。arm-2009q1
Q% t+ u) u% z. Y6 Y7 e+ J最后,修改/etc/profile在最后添加上。
0 j) u1 U' y ]+ J# h: Y) mexport PATH=$PATH:/home/arm/arm-2009q1/bin
" H# j$ h I. ^- C, q9 m9 j1 f* ^' u* `+ I) c
运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库* k& N( M. l3 l; n' \! z/ F
sudo apt-get install lib32ncurses5
{3 U0 N. @2 A2 y; i! Wsudo apt-get install lib32z1
" {5 B9 j, y7 E- W( z7 R- K& J, ]* }/ j& l7 y3 J
- b& N2 H e/ X A
现在 交叉编译器已经可以编译简单的c代码了。3 N4 u: [8 u. w1 W
下面我来搞qt arm linux的移植。1 t d' m+ I) D/ W/ R; C1 C
6 _; ]4 E- \0 X0 `+ Y K2 V4 T3 S下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
& @7 B0 {8 V$ x4 s" y7 N6 J5 T% Vsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool
, Q+ {8 t5 Q* D; y( S- d6 I( Y+ {% [" R. A1 |
解压qt-everywhere-opensource-src-4.8.3
" [9 l$ O' g" W) H到它的目录下面。
: G0 z" S& C1 C1 d, |3 Fcp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 3 m: L9 C* _ w+ X: {
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
0 G: \% X6 Z9 r8 K! S7 wecho -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 E9 W8 k! T9 `. o+ x6 d) q/ u$ l2 g
make -j8 && make install( @% @8 x( y9 f+ i S8 G2 k
arm版的就完成了。. l! G, W' X+ l' k
然后再解压一次qt-everywhere-opensource-src-4.8.3- ~" `) }! [) V' R8 w4 P
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle& l. d, x" Y1 [
make -j8 && make install; e9 N' D5 D* G: z! f3 F& |
7 r* ~4 ?+ d4 ]
$ C# u V/ E4 ?' z) m3 P
配置完成qt-creator
0 v* ^! J+ f" }& m) x* k; q5 n' l3 h1 F( l% U5 u
新建了一个项目9 a( n/ G: l# L
调试发现,x86版本的 发布软件没问题# m" [! b; t' D4 [6 a& M
0 @) b! T( e' e+ F- I2 v: ~
忽略到所有的,可以进入断点4 i3 {$ j, W! \' D
然后在发布arm版时
$ T6 ?, I& r9 m8 j% |2 c
! U! F* @, |* Y/ `/ E* \& U' p: {2 G9 r. b. b! y
然后我就醉了) X7 S6 Q! w+ k5 f. O# W, a
2 t4 U. B" i# V* i% m8 q: u4 E后来,我又装了一个ubuntu16.04的32位系统 {( D7 S2 y" h' L9 S9 y5 u( `
出来的效果也跟以上的结果一样
" t! \8 O2 o! N6 P+ X' d5 Tsudo apt-get install libxtst-dev- O8 l5 y( n3 D& S' [/ ^: w5 Q
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle4 C3 L _7 G2 c& A/ N
make -j8 && make install
2 d$ ~5 F N2 v/ G, n2 ~4 r S3 H. m9 p& Q9 I* g/ \1 ~2 u
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ / v: T: ?* H6 C! Z) `$ C
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
3 q+ G# e$ n- {7 b7 U& n( Becho -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; f' e, E- X5 Y* {, S3 j
make -j8 && make install
, D; K4 B' D' H! n+ e' j8 ~: \2 P4 e0 G( Y. ?
* e- T) Z3 ~! W( m
' d8 @9 {2 ^2 \
- }8 s( n4 `$ p) F _" n9 w+ z; |1 w7 O* X; @4 |) i
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|