zoukankan      html  css  js  c++  java
  • QStardict移植到i.MX-287开发板

        经历几天的努力,终于将QStardict词典移植到了i.MX-287开发板,目前还有一些小bug,还要调试。

        首先描述移植过程中遇到的问题:

        1) 开发板光盘资料附带arm-linux-mulitilib-gnueabi-gcc4.4.4和嵌入式Qt4.7.3,开发板上的linux系统也自带Qt库和Qtopia,这些都是有利条件,但是QStardict依赖libglib-2.0, libz和libX11库,因此需要移植这些库;

        解决方案:

        libX11的交叉编译请参阅  交叉编译libX11 一文,其他几个库的编译方法类似,一般交叉编译都可以参考这篇文章,这样会比较规范,不容易出错。  另外由于我用的Qt4.7.3没有      DBUS模块,所以按照libxml-->libdbus-1-->libQtXml的顺序单独编译了QtDBus库,编译时注意包括Qtxxx/include/QtCore和Qtxxx/include/QtDBus中的头文件,Qtxxx/src/dbus中的

       源文件必须去掉#ifndef QT_NO_DBUS语句,最后头文件安装到Qt4.7.3/include/QtDBus中,库文件安装到Qt4.7.3/lib中。

     

        2)QStardict的快捷键功能在嵌入式系统中用不到,因此需要裁减这个功能;

        解决方案:

        在文件keyboard.cpp和qxtglobalshortcut_x11.cpp中增加一个文件如下,并取消头文件#include <QX11Info> 和qx11info_x11.h 

     1 //qx11info_x11_embed.h
     2 #ifndef QX11INFO_X11_H
     3 #define QX11INFO_X11_H
     4 
     5 #include <QtCore/qnamespace.h>
     6 
     7 typedef struct _XDisplay Display;
     8 
     9 QT_BEGIN_HEADER
    10 
    11 QT_BEGIN_NAMESPACE
    12 
    13 QT_MODULE(Gui)
    14 
    15 
    16 class QX11Info;
    17 
    18 class Q_GUI_EXPORT QX11Info
    19 {
    20 public:
    21     QX11Info();
    22     ~QX11Info();
    23 
    24     static Display *display() { return 0; };
    25 
    26 
    27 protected:
    28 
    29 };
    30 
    31 QT_END_NAMESPACE
    32 
    33 QT_END_HEADER
    34 
    35 #endif // QX11INFO_X11_H

     

        3)原软件设计的窗体和控件尺寸过大,需要适当减小,目前还不是很清楚怎样做到减小控件尺寸;

        解决方案:

        启动后按程序主窗口缩放键即可

        4)移植后发现找不到两个插件,在修改QSTARDICT_PLUGINS_DIR的值后找到了两个插件,但还是不能正常工作;

         解决方案:

        调整宿主机中的QT_BUILD_KEY(在文件qt4.7.3includeQtCoreqconfig.h中)使之与开发板中的build key一致;

     

        5)调试时取消了Qtopia的启动,直接启动QStardict,忘记了给程序后面加上“&"以防止程序独占终端,导致minicom无法登陆开发板,可能需要重装系统;

         解决方案: 

        先使用TF卡格式化Nand Flash,然后启动光盘资料中的EasyARM-i.MX28xA_V1.053、Linux5、Linux系统恢复EasyARM-i.MX28xA V1.13及以后USB烧写MfgTool 1.6.2.055程序使用USB方式烧录uImage和rootfs.tar.bz2系统文件,注意MfgTool烧录时为保持系统稳定建议关闭Wifi和其他应用程序,重启后系统文件在ubi0:rootfs分区中,个人文件分区ubi1:opt已经挂载到/opt目录,把QStardict安装到这里即可。

     

        6)重装系统后QStardict程序键盘无法输入;

        解决方案:

         #vi  /etc/profile, 增加一行 export QWS_KEYBOARD="LinuxInput:/dev/input/event1"

     

      这是QStardict初步移植后的外观:

      

  • 相关阅读:
    Go学习(5):集合
    Go学习(4):数组和切片
    Go学习(3):分支循环
    Go学习(2):基本语法
    Go学习(1):简介和配置
    input输入框只能输入数字而且开头不能为零
    JS 显示周 几和 月 日
    IntelliJ Idea 跳出括号并且光标移到末尾的快捷键
    不可小视的String字符串
    PrintWriter中的write与println方法居然就是这些区别
  • 原文地址:https://www.cnblogs.com/yangjd/p/8995411.html
Copyright © 2011-2022 走看看