1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > QStardict移植到i.MX-287开发板

QStardict移植到i.MX-287开发板

时间:2023-09-26 10:35:33

相关推荐

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_HEADER10 11 QT_BEGIN_NAMESPACE12 13 QT_MODULE(Gui)14 15 16 class QX11Info;17 18 class Q_GUI_EXPORT QX11Info19 {20 public:21QX11Info();22~QX11Info();23 24static Display *display() { return 0; };25 26 27 protected:28 29 };30 31 QT_END_NAMESPACE32 33 QT_END_HEADER34 35 #endif // QX11INFO_X11_H

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

解决方案:

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

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

解决方案:

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

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

解决方案:

先使用TF卡格式化Nand Flash,然后启动光盘资料中的EasyARM-i.MX28xA_V1.05\3、Linux\5、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初步移植后的外观:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。