|
本帖最后由 tumi 于 2017-5-1 10:15 编辑
$ D( B7 n, w7 N/ W9 @4 X4 P* z; A( t3 L5 o- W4 A
我用的ubuntu16.04的64位的系统
- }* w* g: R. G) a+ U/ C% b/ t- }3 x! D y6 j/ w
我的用户名是arm
3 f3 X% R: w5 f我只用qt做一个无界面的软件开发,所以不用移植tslib。
, d3 P& u: h- m |- Lsudo apt install gcc( i7 v: p; J$ c
0 }0 a3 Z6 P9 W" c1 j, o首先安装 arm-none-linux-gnueabi-gcc
% l" J* u+ {% H. C2 T' _* T' h% K3 f/ B将tools目录下面的arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
7 n2 X9 G6 N. m! @7 [拷贝到主目录下面
5 ?( S+ I0 U$ E) i/ G然后解压到此处。arm-2009q1
1 e( B& M( z" z2 W$ F- A' k6 ]* }最后,修改/etc/profile在最后添加上。- ^& T/ f- D8 ^) \
export PATH=$PATH:/home/arm/arm-2009q1/bin* W) A" b) D5 l4 F
% w4 m; g* Z) a; D/ J3 r) B运行 arm-none-linux-gnueabi-gcc,运行不了。然后我就装了支持32位程序的库
' U+ ^& f; s: }& F4 W9 N- Msudo apt-get install lib32ncurses5
' C3 a. ^/ ]/ p4 Z8 Z1 z$ K* `/ O) Dsudo apt-get install lib32z1" y( e( a% c7 `/ O. U* s g
M; v) @, ]* m% Q' I. Z" p; {. Z6 M X
现在 交叉编译器已经可以编译简单的c代码了。* I$ k$ o" _& W" M
下面我来搞qt arm linux的移植。
4 D, X% b& ^ [
) [3 _/ H# F2 O下面这句话,可以把一些必要的库装上。装qt-creator-2.6.1时需要
( @& x3 a: D5 h, f) W: s) Vsudo apt-get install g++-multilib libx11-dev libxext-dev libxtst-dev zlib1g-dev lib32ncurses5 lib32z1 libpng-dev autoconf automake libtool$ w/ P9 G3 ~9 y6 q5 O8 s
+ l6 y, X J- c( I$ Z9 o* \4 H& K解压qt-everywhere-opensource-src-4.8.30 J4 F; ~" e9 ~8 _5 m. _
到它的目录下面。9 h+ Q- k6 M& i# I
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++ 6 Y0 p# k+ a( p
sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
# t4 v. q4 {7 `" l7 r1 E8 t7 ]& C. yecho -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
9 l; ^& a! W7 h/ ~& T Kmake -j8 && make install
. J7 M: u% _. u+ V4 e6 d4 {arm版的就完成了。
9 g9 b. q" h6 b1 `然后再解压一次qt-everywhere-opensource-src-4.8.3. R& x2 u, G! Z6 c3 \; t* r
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle& a8 ~3 \5 @& H2 g
make -j8 && make install
" _' X% |% |* K) R. q3 W0 ^. o/ h8 ^
5 L6 W* ? P, A" B配置完成qt-creator9 e: {: ?* N0 \0 Z7 g; ], s% O2 ~2 d
9 D7 E" G9 L& n y" H# h) x! B; y新建了一个项目
( R! E0 P1 z. {# ]3 ?! n% c# u调试发现,x86版本的 发布软件没问题4 K' a4 t! n* t# c) H' C
# h! \' Z* F+ W9 d- u$ I! o( C- A忽略到所有的,可以进入断点
4 D" m4 m3 x* i. O) ^+ `: g然后在发布arm版时9 H8 F: l* u& n. L) Z% }- B- @
3 L+ I7 `) _$ Y* O! V2 s4 v5 V/ c
7 r0 B+ h' c5 l3 v. N5 n然后我就醉了/ l- h: z( ~$ G f% i
* T" J z, K$ u9 L. _9 x+ w后来,我又装了一个ubuntu16.04的32位系统/ `9 j2 |) F/ C% k
出来的效果也跟以上的结果一样
0 f* y# ?3 @- G6 v$ _5 ~* esudo apt-get install libxtst-dev( y( }. {9 p$ z, X, o
echo -e "o\nyes" | ./configure -prefix /home/arm/qtlib/qt-x86-4.8.3 -no-gtkstyle
$ ~( R. H% G( w' ~8 j* X- Emake -j8 && make install. f& m A2 @( F5 ~) ^0 r
( G9 z4 ?: i/ L! {$ B2 Z* W% H0 {
cp -a mkspecs/qws/linux-arm-g++/ mkspecs/qws/linux-omapl138-g++
4 z& u" r: q5 Q; \sed -i "s/arm-linux/arm-none-linux-gnueabi/g" mkspecs/qws/linux-omapl138-g++/qmake.conf
5 t( S* l" I& F1 ?5 Zecho -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 C6 o- L$ T* Y: C
make -j8 && make install
9 |/ l. I G. U
/ O. I V1 }+ Y0 d! I) _6 u) h9 K
1 I9 ]0 |9 R* x8 I+ @6 t# ^2 Z' v, X6 b6 U! X, }" z: J
7 |9 s. u+ |; ]: p) H
, ]% c$ m& T' w9 ^8 F1 m/ D1 c4 L( l$ d |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|