学习记录-Qt环境的编译

网上找了很多教程,也学习到了很多,但是和自己的环境毕竟还是有许多差别,在这里记录一下自己的编译学习过程,以及遇到的问题。

使用的是友善tiny6410开发板。

1.在官网下载源代码,我使用的是qt-everywhere-opensource-src-4.8.5.tar.gz。

2.fedora下linux X11平台

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

cdqt-everywhere-opensource-src-4.8.5

./configure

gmake && gmake install

完成后安装在/usr/local/Trolltech/Qt-4.8.5/目录下。

注意:这里使用的是默认的configure,笔记本i3处理器,4G内存,SSD硬盘,vmware虚拟机,编译大概4个半小时。

3.fedora下嵌入式X86平台

通过视窗系统QWS,不需依赖X Window System,写入Linux帧缓冲。减少存储器消耗,并提供虚拟帧缓冲QVFB,方便在桌面系统上进行嵌入式测试。

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

cdqt-everywhere-opensource-src-4.8.5

./configure -embedded x86 -qvfb -no-webkit

gmake && gmake install

完成后安装在/usr/local/Trolltech/Qt-4.8.5/目录下。测试qvfb:

cd/usr/local/Trolltech/Qt-4.8.5/bin

./qvfb -width 800 -height 600 &     // 打开qvfb用来显示程序


4.嵌入式ARM平台

先根据手册建立交叉编译环境,友善使用的是arm-linux-gcc-4.5.1,按照手册安装到fedora系统中,并修改/root/.bashrc添加系统环境变量。

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

cdqt-everywhere-opensource-src-4.8.5

./configure -opensource -embedded arm -xplatform qws/linux-arm-g++  -webkit -qt-gfx-transformed -qt-libtiff -qt-libmng  -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon

gmake && gmake install

完成后安装在/usr/local/Trolltech/QtEmbedded-4.8.5-arm/目录下。

5.移植到ARM平台

使用脚本:

#!/bin/bash

TARGET_DIR=$PWD
cp font/DroidSansFallback.ttf /usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib/fonts

cd /
list=`cat << EOF
usr/local/Trolltech/QtEmbedded-4.8.5-arm/examples/widgets/wiggly/wiggly
usr/local/Trolltech/QtEmbedded-4.8.5-arm/examples/painting/concentriccircles/concentriccircles
usr/local/Trolltech/QtEmbedded-4.8.5-arm/lib
usr/local/Trolltech/QtEmbedded-4.8.5-arm/plugins
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/deform/deform
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/deform/pathdeform.html
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/embeddedsvgviewer/spheres.svg
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/embeddedsvgviewer/embeddedsvgviewer
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/embeddedsvgviewer/shapes.svg
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/embeddedsvgviewer/files/default.svg
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/embeddedsvgviewer/files/v-slider-handle.svg
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/embeddedsvgviewer.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/desktopservices_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/deform.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/flightinfo_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/raycasting.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/digiflip.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/styledemo.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/styledemo_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/mediaplayer.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/weatherinfo.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/concentriccircles.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/context2d_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/wiggly.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/lightmaps.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/elasticnodes.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/wiggly_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/ftp_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/embeddedsvgviewer_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/anomaly_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/flickable.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/softkeys_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/fridgemagnets_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/saxbookmarks_s60.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/screenshots/pathstroke.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_4.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_1.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_2.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_6.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_3.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/slides/demo_5.png
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/fluidlauncher
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/fluidlauncher/config.xml
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/embedded/styledemo/styledemo
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/pathstroke/pathstroke.html
usr/local/Trolltech/QtEmbedded-4.8.5-arm/demos/pathstroke/pathstroke
EOF
`
tar cfvz $TARGET_DIR/target-qte-4.8.5-to-devboard.tgz  $list
tar cfvz $TARGET_DIR/target-qte-4.8.5-to-hostpc.tgz usr/local/Trolltech/QtEmbedded-4.8.5-arm

将产生
target-qte-4.8.5-to-devboard.tgz
<pre name="code" class="javascript" style="font-size: 13px; line-height: 13.75px;">target-qte-4.8.5-to-hostpc.tgz
两个文件,复制target-qte-4.8.5-to-devboard.tgz文件到开发板,解压安装

 
tar xvzf <span style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">target-qte-4.8.5-to-devboard.tgz</span>

6.安装qtcreator IDE
在官网下载 qt-creator-linux-x86-opensource-2.4.1.bin
cd到目录
./qt-creator-linux-x86-opensource-2.4.1.bin
安装到默认目录/opt/qt-creator-2.4.1。
成功后,桌面出现程序图标,双击打开软件,设置Qt库和编译工具链。
将前面步骤安装好的Qt添加到qtcreator中,没有出现任何问题。
新建一个简单工程,使用各个平台进行编译,运行测试。发现编译总是循环qmake,编译无法进行。主动中断编译,切换qt库,问题依旧,度娘、古哥没有找到解决方法。研究N小时仍未解决,遂重装一个虚拟机,安装好交叉编译链,将已经安装的Qt库打包,复制到新的虚拟机中解压到 usr/local/Trolltech/目录,接着安装qtcreator,添加Qt工具链到qtcreator中,新建qt工程,编译正常。问题算是解决,虽然不明白哪里出错了^_^!!










  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值