查看: 996|回复: 0

[BBB试用之旅14] BBB的QT之旅的答疑解惑

[复制链接]
  • TA的每日心情
    难过
    2017-4-18 09:57
  • 签到天数: 7 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2017-6-14 09:11:50 | 显示全部楼层 |阅读模式
    分享到:
    最近参考学习过的网页,对公关embedded QT或许有帮自己 ,可以浏览下。
    https://armsdr.blogspot.com/2014/01/bare-metal-qt-5...
    www. cloud-rocket.com/2013/07/building-qt-for-beaglebone/
    armsdr.blogspot.com/2014/01/bare-metal-qt-52-on-beaglebone-black.html
    qt-project.org/doc/qt-5/configure-options.html
    qt-project.org/doc/qt-4.8/qt-embedded-crosscompiling.html
    qt-project.org/wiki/Building_Qt_for_Embedded_Linux
    groups.google.com/forum/#!topic/beagleboard/doI41xkIvks
    https://blog.csdn.net/catemo/article/details/531315...
    https://blog.csdn.net/q1302182594/article/details/4...
    https://blog.csdn.net/wyt2013/article/details/18549...
    https://m-embedded.blogspot.com/2015/08/build-qt5-f...
    https://exploringbeaglebone.com/chapter11/
    事实上做这个实验,比我想象得要曲折的多。QT4 QT5 我都试着去编译,并移植到BBB的debian 上实验,交叉编译embedded QT 费时,而且会遇到一些匪夷所思的问题,如果是新手,我建议可以编译试试,但是发现没有成功,可以选用其它方法在target板上运行QT GUI,比如使用相对成熟的TI 的SDK/ti-sdk-<machine>-<sdk version>/. 又或者可以在HOST上编译并运行成功的基础上,再在TARGET 板上编译一下,这样在BBB上运行应该是不会有问题的。
    遭遇问题 1
    经过多次尝试,HOST上编译的可执行文件,移植到BBB上,并不能显示GUI,并列出如下Debug信息,多次调查下来,也没有解决这个问题,可以说我的host交叉编译,target运行的方案没有试验成功的。
    QFactoryLoader:FactoryLoader() looking at "/opt/qt/plugins/mousedrivers/libqlinuxtpmousedriver.so"
    keys ("LinuxTP")
    QFactoryLoader:FactoryLoader() looking at "/opt/qt/plugins/mousedrivers/libqpcmousedriver.so"
    keys ("Auto", "IntelliMouse", "Microsoft", "MouseSystems", "MouseMan")
    或如下的出错信息,如有大神遇到类似问题,并解决的,给小弟指点12,先拜谢了。


    但是是在BBB下再次make 之后又能正常运行了如下两张图,而试用是BBB自带的QT4环境。


    遭遇问题 2

    以上可以知道,在SSH 登录命令行方式下,运行GUI程序会提示 “Can not connect to X server” ,由于没有装备触摸屏,我使用VNC远程桌面控制软件,使用VNC  view,运行QT GUI,证明是可行的。
    再次看下系统的版本情况:
    root@beaglebone:/home/debian# uname -a
    Linux beaglebone 3.8.13-bone47 #1 SMP Fri Apr 11 01:36:09 UTC 2014 armv7l GNU/Linux
    root@beaglebone:/home/debian# uname -r
    3.8.13-bone47
    root@beaglebone:/home/debian# lsb_release -a
    No LSB modules are available.
    Distributor IDebian
    Descriptionebian GNU/Linux 7.11 (wheezy)
    Release:7.11
    Codename:wheezy
    以下是环境变量:
    #export QTDIR=/usr/local/qt-5.2

    #export QT_PLUGIN_PATH=/usr/local/qt-5.2/plugins
    #export LD_LIBRARY_PATH=/usr/local/qt-5.2/lib
    export QTDIR=/opt/qt
    export QT_PLUGIN_PATH=/opt/qt/plugins
    export LD_LIBRARY_PATH=/opt/qt/lib
    export QT_QPA_FONTDIR=/opt/qt/lib/fonts
    export QT_DEBUG_PLUGINS=1
    遭遇问题 3
      运行QT5.2 编译的GUI时,报GLIBC_2.15 not found 错误,在google group 得到解决办法,是由于libc.so.6支持GLIBC 版本过少,没有升级前libc.so.6支持GLIBC 版本如下



    使用如下命令就可以升级GLIBC
    #!/bin/sh
    echo "deb https://ftp.debian.org/debian sid main" >> /etc/apt/sources.list
    apt-get update
    apt-get -t sid install libc6 libc6-dev libc6-dbg
    echo &quotlease remember to hash out sid main from your sources list. /etc/apt/sources.list"
    升级完成后,测试QT5.2 附带example中 的dnslookup 样例程序,成功。


    升级后得libc.so.6库支持的GLIBC版本比原来多了不少


    特别注意 :运行qt4 GUI 时在命令后得加-qws  ,如  ./ abc -qws
                     运行qt5 GUI 时在命令后得加-platform linuxfb ,如  ./ abc --platform linuxfb
    再共享一个TI 的BBB QT 教程, 这样,我的BBB之旅得画上句号了,多谢爱板网给了我这次试用。
    Sitara Linux Training- Hands on with QT.pdf
    说得很乱 很琐碎,时间太赶了,不好意思,见谅见谅。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 17:45 , Processed in 0.115089 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.