开发机环境搭建:

测试环境:CentOs7.1  Ubuntu 12.0.4

操作流程:

一、编译Qt4.7.0

         1)CentOS上实践

          1.tar xzvf qt-everywhere-opensource-src-4.7.0.tar.gz

          2.cd 解压目录下

          3.yum install libX11-devel libXext-devel libXtst-devel

           yum install libXrender*(我感觉可能上面库不够,出现报错)

          4../configrue --prefix=/usr/local/Trolltech/Qt-x11-4.7.0

          5.gmake

          6.gmake install

          测试安装qt-everywhere-opensource-src-4.8.4.tar.gz

          已成功!

        2)Ubuntu上实践

          1.设置root密码

            sudo passwd root
            加入密码,两次输入
          2.纯净版的Ubentu系统没有安装g++
            apt-get install g++
         3.源码包编译需要依赖libX11-dev libXext-dev libXtst-dev
            apt-get install libX11-dev libXext-dev libXtst-dev
         4.到qt官网下载qt-everywhere-opensource-src-4.8.4.tar.gz
         5.tar zxvf 压缩文件.tar.gz
         6.进入解压后文件目录,执行配置
          cd qt-everywhere-opensource-src-4.8.4/
          ./configure -prefix /usr/local/Trolltech/Qt-x11-4.8.4
          使用开源版本
          紧接着选o ,然后再yes
        6.编译
          make
        7.安装
          make install
        8.编译成功后
          测试/usr/local/Trolltech/Qt-x11-4.8.4/bin/designer
        9.设置环境变量:
          运行命令vim ~/.profile编辑该文件,在文件中添加:
          export QTDIR=/usr/local/Trolltech/Qt-x11-4.8.4 /*需要修改为你安装的目录*/
          export LD_LIBRARY_PATH=$QTDIR/lib
          export PATH=$PATH:$QTDIR/bin
          保存并关闭文件
          运行命令 source ~/.profile
          这样,就可以在任何目录下使用qmake.

       二、安装qtCreater

         1.Ubentu安装

          apt-get install qtcreator

          终端中运行:qtcreator

            配置编译器

             工具-》选项-》构建和运行 Qt版本手动设置qmake编译器。

参考网址:

http://blog.csdn.net/lpp0900320123/article/details/24876159

2.CentOS安装

先查看版本号

我是32位,

http://qt.nokia.com/downloads下载 qtcreator2.6.2

chmod 777 qt-creator_*

./qt-creator*

安装/opt/qt-creator*路径

设置qmake路径

三、qt4.8.4交叉编译及开发机搭建

         1.交叉编译tslib库(支持触摸屏的库函数)

1>交叉编译tslib:

            tar xjvf tslib1.4.tar.bz2
            cd tslib1.4
            ./autogen.sh
            ./configure --prefix=/home/wwb/tslib1.4_install/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
            make
            make install
            本人使用的是博创科技生产的UP-CUP6410II
            在其中有写的shell执行脚本,解压后直接执行./build.sh即可

2.交叉编译qt4.8.4

            1)交叉编译

              tar -xvzf qt-everywhere-opensource-src-4.8.4.tar.gz

              cd qt-everywhere-opensource-src-4.8.4

              ./configure -prefix /home/wwb/qt-4.8.4-arm -release -opensource -shared -no-fast -largefile -stl -qt-sql-sqlite -qt3support -qt-zlib

               -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -qt-gfx-linuxfb -qt-gfx-qvfb -qt-kbd-tty -qt-kbd-linuxinput -qt-kbd-qvfb -qt-mouse-pc

               -qt-mouse-linuxtp -qt-mouse-qvfb -embedded arm -host-little-endian -no-cups -no-3dnow -qt-freetype -depths all -xplatform               /qws/linux-arm-g++ -qt-mouse-tslib -I /home/wwb/tslib1.4-install/include -L /home/wwb/tslib1.4-install/lib

              修改qt-everywhere-opensource-src-4.8.4/mkspecs/qws/linux-arm=g++/qmake.conf文件(添加lts参数)
              QMAKE_CC = arm-linux-gcc -lts
              QMAKE_CXX = arm-linux-g++ -lts
              QMAKE_LINK_DHLIB = arm-linux-g++ -lts

              make
              make install
              测试过程中出现:
              在编译完成x86使用的qt应用程序后,在编译arm使用的程序就会出现错误,需要重新解压一份,重新进行操作。(此问题,应该是由配置文件造成的,

              能力有限)编译webkit时,出现Project MESSAGE: Disabling video due the lack of 需要一些库做支撑,但是没有也没事。QT中WebKit是一个

              开源的浏览器引擎,与之相对应的引擎有Gecko(Mozilla Firefox)等使用和Trident(也可称MSHTML,IE使用)。同时WebKit是苹果公司浏览器引擎。

2)将编译好的qt-embeded放置到arm上测试

              1.在挂载目录下创建一个目录,将编译好的代码拿过来。

                cd /UP-CUP6410(挂在目录)
                mkdir Trolltech
                cd Trolltech
                cp /home/wwb/qt-4.8.4-arm/ ./ -arf
                cd qt-4.8.4-arm
                cp /home/wwb/tslib1.4-install/lib/* /UP-CUP6410/Trolltech/qt-4.8.4-arm/lib/ -a
                cp /home/wwb/tslib1.4-install/bin/* /UP-CUP6410/Trolltech/qt-4.8.4-arm/bin/ -a
                cp /home/wwb/tslib1.4-install/etc/ /UP-CUP6410/Trolltech/qt-4.8.4-arm/ -a
              2.修改当前目录中etc/ts.conf文件
                vim etc/ts.conf
                将第二行的#和空格去掉
                :wq
              3.arm端设置
                mountnfs 58.154.51.187:/UP-CUP6410 /mnt/nfs
                cd /mnt/nfs/Trolltech/qt-4.8.4/
                export QTDIR=$PWD
                export LD_LIBRARY_PATH=$PWD/lib
                export TSLIB_TSDEVICE=/dev/event1
                export TSLIB_PLUGINDIR=$PWD/lib/ts
                export TSLIB_CONSOLEDEVICE=none
                export TSLIB_CONFFILE=$PWD/etc/ts.conf
                export POINTERCAL_FILE=$PWD/etc/ts-calib.conf
                export QWS_MOUSE_PROTO=tslib:/dev/event1
                export TSLIB_CALIBFILE=$PWD/etc/ts-calib.conf
                export QT_QWS_FONTDIR=$PWD/lib/fonts
                export QT_PLUGIN_PATH=$PWD/plugins
                export LANG=zh_CN
              说明:
                TSLIB_TSDEVICE //触摸屏设备文件名。
                TSLIB_CALIBFILE //校准的数据文件,由ts_calibrate校准程 序生成。
                SLIB_CONFFILE //配置文件名。
                TSLIB_PLUGINDIR //插件目录
                TSLIB_CONSOLEDEVICE //控制台设备文件名
                TSLIB_FBDEVICE //设备名
                以上环境变量在实际开发中的实际配置可以根据实际情况决定。而这些指定的设备节点一定要和你的开发板上的/dev目录下的设备节点相对应。
              4.执行触摸屏校准
                ./bin/ts_calibrate

          四、后期使用问题集锦

            1.BUG :soft lockup detected on CPU#0

系统时间出现问题
                                   date 一下发现板子的时间是1970年
                                    1)在虚拟终端中使用date命令来查看和设置系统时间
                                       #date
                                       设置系统时钟的操作
                                       #date 040310592016.30
                                        通用的设置格式
                                     2)使用hwclock命令查看和设置硬件时钟
                                        查看硬件时钟的操作
                                        hwclock -r
                                     3)同步系统时钟和硬件时钟
                                       硬件时钟与系统时钟同步
                                       #hwclock --hctosys//测试无用
                                        --hctosys表示Hardware Clock to SYStem clock。
                                        系统时钟与系统时钟同步
                                        hwclock --systohc
                                 2.QT程序编译时的错误:QMAKESPEC has not been set, so configuration cannot be deduced.
                                      添加系统变量:export QMAKESPEC=/home/wwb/qt-4.8.4-arm/mkspecs/qws/linux-arm-g++

五、知识补充:

cp 命令知识补充

           参数:-a :相当于-pdr的意思(参数pdr分别为:保留权限,复制软链接本身,递归复制);
              -p :连同档案的属性一起复制过来,而非使用预设属性。
              -d :若来源文件为连接文件的属性(link file),则复制连接文件属性而非档案本身。
              -f :为强制(force)的意思,若有重复或其他疑问时,不会询问使用者,而强制复制。
              -i :若目的档已经存在时,在覆盖时会先咨询是否真的动作。
              -l : 进行硬式连接(hard link)的连接档建立,而非复制文档本身。
              -r :递归持续复制,用于目录的复制行为。
              -s : 复制为符号连接文件(sumbolic link),亦即快捷方式档案。
              -u : 若 destination比source旧才更新 destination.

Qt之qt4.7 和qt 4.8.4 交叉实践的更多相关文章

  1. QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数

    QT源码解析(一) QT创建窗口程序.消息循环和WinMain函数 分类: QT2009-10-28 13:33 17695人阅读 评论(13) 收藏 举报 qtapplicationwindowse ...

  2. Qt 学习之路 :Qt 绘制系统简介

    Qt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制.整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类. QPainter用来执行绘制的 ...

  3. Fedora15下搭建QT开发环境及编译QT

    看了不少linux上编译qt的文章,实际上直接通过yum 安装qt是最方便的,请参考<yum安装qt> 不过初步接触fedora,为了了解一下如何在linux上编译.安装开源代码,所以必须 ...

  4. Qt WebKit and HTML5 geolocation | Qt Project forums | Qt Project

    Qt WebKit and HTML5 geolocation | Qt Project forums | Qt Project Qt WebKit and HTML5 geolocation   I ...

  5. Qt Style Sheets Examples(QT真是有很全的文档)

    http://doc.qt.io/qt-5/stylesheet-examples.html http://doc.qt.io/qt-4.8/stylesheet.html

  6. Qt Widgets、QML、Qt Quick的区别

    Qt Widgets.QML.Qt Quick的区别 简述 看了之前关于 QML 的一些介绍,很多人难免会有一些疑惑: Q1:QML 和 Qt Quick 之间有什么区别? Q2:QtQuick 1. ...

  7. Qt Creator的安装与Qt交叉编译的配置

    Qt Creator 的安装 到Qt官网下载Qt Creator  https://www.qt.io/download-open-source/ 其它旧版本点击Achieve连接下载 或登录http ...

  8. Fedora15下搭建QT开发环境及编译QT(提前一键安装完,qt编译所有必需库 yum install gcc-c++ libXtst-devel freetype freetype-devel fontconfig-devel libXrender-devel )

    看了不少linux上编译qt的文章,实际上直接通过yum 安装qt是最方便的,请参考<yum安装qt> 不过初步接触fedora,为了了解一下如何在linux上编译.安装开源代码,所以必须 ...

  9. 减少Qt编译时间暨简单Qt裁剪

    本站所有文章由本站和原作者保留一切权力,仅在保留本版权信息.原文链接.原文作者的情况下允许转载,转载请勿删改原文内容, 并不得用于商业用途. 谢谢合作.原文链接:减少Qt编译时间暨简单Qt裁剪 编译一 ...

随机推荐

  1. vim 使用笔记

    vim命令笔记 a 插入 insert 插入 :%!xxd 以16进制方式进行编辑 :%!xxd -r 从16进制还原

  2. 重命名PDF打印文件名

    Odoo系统默认打印出来的PDF文件都是以当前文档模型对象对应的模板文件名命名的,对用户来说,这样的命名很不友好. 我们希望能够将打印出来的文件名以单号命名,下面是实现这种目的的方法. 在report ...

  3. Winform程序以Icon的形式显示在任务栏右下角

    Form最小化是指整个Form都缩小到任务栏上,但是是以Form的标题栏形式显示的, 若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件, 在使窗体最 ...

  4. OSI七层&TCP&IP协议

    OSI七层: OSI七层与ICP/IP概念层的对应: ICP/IP概念层上的网络设备: IP(Internet Protocol网际协议):计算机之间的通信 IP(网络协议)位于网络层,作用是把各种数 ...

  5. 非静态的字段、方法或属性“System.Web.UI.Page.ClientScript...”要求对象引用 (封装注册脚本)

    在写项目时想对asp.net的注册前台脚本事件进行封装,就添加了一个BasePage.cs页面,但一直报错‘非静态的字段.方法或属性“System.Web.UI.Page.ClientScript.. ...

  6. CentOS下IP的配置

    1.打开命令窗口,切换成root账户:su - root 2.进入目录:/etc/sysconfig/network-scripts,打开文件vi ifcfg-eth0 3.修改参数: ## 名称DE ...

  7. Android错误:W/ResourceType(2411): No package identifier when getting value for resource number 0x

    报错信息: 07-04 11:14:43.064: W/ResourceType(2411): No package identifier when getting value for resourc ...

  8. C++_static与非static成员(函数)

    static与非static成员(函数)  <C++ Primer>第4版399页: 对于特定类类型的全体对象而言,访问一个全局变量有时是必要的.然而,全局变量会破坏封装:对象需要支持特定 ...

  9. win7 备份错误解决

    解决win7 备份出错, 开启服务: windows backup volume shadow copy

  10. BizTalk开发系列(五) 属性字段

    在根据消息内容进行路由的时候经常使用的是可分辨字段和属性字段.属性字段可以在各个 BizTalk Server 组件(包括管道和业务流程)中进行访问.属性字段还可用于消息路由.如果需要在上下文(而不是 ...