您的位置:首页 > 编程语言 > Qt开发

Qt Creator可执行程序移植到OK6410上

2013-12-30 11:37 399 查看
在Qt Creator中设计编写好界面程序后。按照《OK 6410 Qt移植百科全书》进行操作。

进入项目文件目录,设置好交叉编译器,可以用arm-linux-gcc -v 查看交叉编译器是否设置正确。找到编译Qtopia生成的目录,在其中找到qmake,在项目文件目录下,终端中输入qmake的绝对路径,用来生成Makefile 。该过程中没有出错的话,在项目文件中会生成一个Makefile文件,在CFLAGS和CXXFLAGS的的等号后面加上-fno-rtti ,然后在该路径下,执行make,生成可执行文件。

要将该文件移植到板子上之前,需要对环境变量进行配置,《OK 6410 Qt移植百科全书》上写的环境变量配置没有写全。完整的环境变量的配置如下:

export PATH=/opt/Qtopia4.4.3/bin:/sbin:/usr/sbin:/bin:/usr/bin

export QPEDIR=/opt/Qtopia4.4.3

export QTDIR=/opt/Qtopia4.4.3

export QT_QWS_FONTDIR=/opt/Qtopia4.4.3/lib/fonts/

export QWS_DISPLAY=LinuxFb:mmWidth76:mmHeight44:1 (与字体大小有关)

export QWS_MOUSE_PROTO=Tslib:/dev/input/event1

export TSLIB_CALIBFILE=/etc/pointercal

export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_PLUGINDIR=/usr/local/tslib/lib/tsexport TSLIB_ROOT=/usr/local/tslib

export TSLIB_TSDEVICE=/dev/input/event1

export TSLIB_TSEVENTTYPE=H3600

export QT_PLUGIN_PATH=/opt/Qtopia4.4.3/plugins:/opt/Qtopia4.4.3/qt_plugins/

export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:$QTDIR/qt_plugins/:/usr/local/lib:$LD_LIBRARY_PATH

《OK 6410 Qt移植百科全书》少了最后一行。

其中,export QWS_DISPLAY=LinuxFb:mmWidth76:mmHeight44:1

可以改变mmWidth和mmHeight44后面的数字,经尝试发现,export QWS_DISPLAY=LinuxFb:mmWidth76:mmHeight100:1 在Ok6410的4.3寸屏幕上比较合适。可以显示清晰字体。

在板子上显示中文:
在板子上可以看到Qtopia的lib库中,有fonts字体库,在qt-4.7.1中也有字体库。把qt4.7.1中的wenquanyi字体都拷贝到Qtopia的字体库中。
在Qt creator中在main.cpp中添加下面红色字体:
int main(int argc, char *argv[])

{

QApplication a(argc, argv);

QTextCodec::setCodecForTr(QTextCodec::codecForLocale());

QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));

MainWindow w;

w.show();

w.setFont(QFont("wenquanyi",12,QFont::Normal));

return a.exec();

}

这样生成的可执文件可以在板子上显示中文。

板子上是Otopia2.0:

首先在Ubuntu的终端中设置好交叉编译器,按照《OK6410移植百科》上的方法,编译qt4.7.1,会在qt4.7.1的目录下的bin文件夹下面生成qmake,然后make install安装qmake,接下来用该qmake安装上面的方法,生成Makefile,修改Makefile的方法如上。接下来的步骤就按照上面来。在板子上设置环境变量的时候,记得把Qtopia4.4.3改成Qtopia。

Qt可执行程序移植到板子上后,点击没的反映,要么是出现花屏,显示桌面,解决方法:启动的时候启动自己的界面。

首先:修改/etc/init.d中rcS的内容,用#注销/bin/qtopia &这句话。

然后:添加代码

cd / (我的qt可执行程序所在的目录)

. setqt4env (环境变量)

./clmcu8 -qws &

最后:保持该启动文件。

其中setq4env是这样来的:

在/bin文件夹中创建该文件,将/bin/下的qt4里面的内容全部复制到setqt4env,然后删除最后三行添加:

export PATH=/opt/Qtopia/bin:/sbin:/usr/sbin:/bin:/usr/bin

export QPEDIR=/opt/Qtopia

export QTDIR=/opt/Qtopia

export QT_QWS_FONTDIR=/opt/Qtopia/lib/fonts/

export QT_PLUGIN_PATH=/opt/Qtopia/plugins:/opt/Qtopia/qt_plugins/

export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:$QTDIR/qt_plugins/:/usr/local/

这样,启动的就是自己的界面了,并且可以使用触摸屏
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: