Qt移植

Qt移植


Qt移植

pc和arm可使用相同的源码包,使用不同的配置即可

arm版本Qt移植

1.下载并解压源代码包

tar zxvf qt-everywhere-opensource-src-4.8.5.tar.gz

2.配置(可先用./configure --help查看可配置选项)

./configure -prefix /opt/qt-4.8.5-arm/ -shared -no-fast -no-largefile -no-exceptions -qt-sql-sqlite -qt3support -no-xmlpatterns -multimedia -no-svg -no-mmx -no-3dnow -no-sse -no-sse2 -qt-zlib -no-webkit -qt-libtiff -qt-libpng -qt-libjpeg -make libs -nomake examples -nomake docs -nomake demo -no-optimized-qmake -no-nis -no-cups -no-iconv -no-dbus -no-separate-debug-info -no-openssl -xplatform qws/linux-arm-g++ -embedded arm -little-endian -no-freetype -depths 4,8,16,32 -qt-gfx-linuxfb -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-kbd-tty -no-glib -armfpa -no-mouse-qvfb -qt-mouse-pc -qt-mouse-tslib -I/opt/tslib/include -L/opt/tslib/lib

注释:
-prefix /opt/qt-4.8.5-arm 为安装目录,编译完后拷贝到开发板

3.编译与安装

make 
make install


4.复制/opt/qt-4.8.5-arm目录到开发板/opt/qt-4.8.5:

cp -a /opt/qt-4.8.5-arm /nfsroot/opt/

5.配置开发板环境变量:

sudo vi /nfsroot/etc/profile
添加如下内容:
export QTDIR=/opt/qt-4.8.5-arm 
export QTDIRlib=/opt/qt-4.8.5-arm/lib
export LD_LIBRARY_PATH=$QTDIRlib:$LD_LIBRARY_PATH 
export PATH=$QTDIR/bin:$PATH
export QWS_MOUSE_PROTO=tslib:/dev/input/event3
export QWS_DISPLAY="LinuxFb:mmWidth480:mmHeight272:0"  
export QT_QWS_FONTDIR=/opt/qt-4.8.5-arm/lib/fonts



PC版本Qt

1.下载并解压源代码包

tar zxvf qt-everywhere-opensource-src-4.8.5.tar.gz

2.配置

./configure -prefix /opt/qt-4.8.5-x11

3.编译与安装

make 
make install


Qt Creator

1.下载并安装qtcreator

./qt-creator-opensource-linux-x86-3.0.1.run

2.配置qtcreator

*打开qtcreator,在菜单栏选择Tools->Options,选择Build & Run选项卡,选择Compiler选项卡,选择GCC(x86 32bit in /usr/bin),点右边的Clone按钮,复制一个选项作为交叉编译器的选项,修改Clone出来的选项,修改如下:
Name:GCC(arm 32bit) 
Compiler path:/opt/4.4.1/bin/arm-linux-g++(根据具体路径设置)
ABI:arm-linux

*选择Debugger选项卡,选择System GDB at /usr/bin/gdb,点Clone,修改Clone出来的选项,修改如下:
Name:GDB (arm 32bit)
Path: /opt/4.4.1/bin/arm-linux-gdb(根据具体路径设置)

*选择Qt Version选项卡,点Add,添加/opt/qt-4.8.5-arm/bin/qmake

*选择Kits选项卡,选择Destop,点Clone,修改Clone出来的选项,修改如下:
Name: Arm
Device type:Generic Linux Device
Device:
Sysroot:
Compiler: GCC(arm 32bit) 
Debugger: GDB (arm 32bit)
Qt version:Qt4.8.5 (qt-4.8.5-arm)
(会有No device警告,不鸟它)

PC端编译器按以上过程配置

3.测试

打开Qt,新建工程,输入名字和路径
在Kit Selection时,把两个Kit都选上,
下一步,下一步,完成
随便画个窗口

点击左下角Debug按钮,切换编译器,想怎么切,就怎么切
在工程目录的Debug目录下,把可执行文件,复制到开发板运行即可
PC端直接点运行
./Test -qws(记得加上-qws)

移植完成:^.^



问题:

1. error while loading shared libraries: libstdc++.so.6: cannot open shared object file
解决:到交叉编译器的库里找到相应的库,复制到开发板
cp -a /opt/4.4.1/arm-none-linux-gnueabi/libc/usr/lib/libstdc++.so /nfsroot/lib/
cp -a /opt/4.4.1/arm-none-linux-gnueabi/libc/usr/lib/libstdc++.so.6 /nfsroot/lib/
cp -a /opt/4.4.1/arm-none-linux-gnueabi/libc/usr/lib/libstdc++.so.6.0.12 /nfsroot/lib/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值