鸿 网 互 联 www.68idc.cn

当前位置 : 主页 > 网络程序脚本 > linux shell > >

QtopiaCore4.3.5移植到9263EK平台记录

来源:互联网 作者:佚名 时间:2015-06-03 08:52
Qtopia 是Trolltech 公司为采用嵌入式Linux操作系统的消费电子设备而开发的综合应用平台 Qtopia包含完整的应用层 灵活的用户界面 窗口操作系统 应用程序启动程序以及开发框架 Qtopia的特性如下所示 窗口操作系统 游戏和多媒体 工作辅助应用程序 同步框架 PIM

  Qtopia 是Trolltech 公司为采用嵌入式Linux操作系统的消费电子设备而开发的综合应用平台 Qtopia包含完整的应用层灵活的用户界面窗口操作系统应用程序启动程序以及开发框架

  Qtopia的特性如下所示

  窗口操作系统 游戏和多媒体 工作辅助应用程序 同步框架 PIM应用程序 Internet应用程序 开发环境 输入法 Java集成 本地化支持 个性化选项 无线支持

  前一阵把LCD在内核启动代码的显示做完今天终于把QT嵌入式平台搭建好了当然也解决了一些比较主要的问题下面开始叙述!

  首先我的内核是用armnonelinuxgnueabi交叉编译工具编译的这也就决定了你的文件系统应用程序QT平台也要用此工具编译

  不然当你在文件系统下运行可执行程序时会提示No Bash! 同时也会误导你可能是由于LIb文件的问题!

  编译移植Qtopia Core:

  () # tar zxvf qtopiacoreopensourcesrctargz
 # cd qtopiacoreopensourcesrc
 
      (重要的一步)修改mkspecs/qws/linuxarmg++下的nf文件把文件里面的编译器指定为armnonelinuxgnueabi
      用armnonelinuxgnueabigcc和armnonelinuxgnueabig++替代以下的armlinuxgcc和armlinuxg++
      QMAKE_CC = armlinuxgcc
      QMAKE_CXX = armlinuxg++
      QMAKE_LINK = armlinuxg++
      QMAKE_LINK_SHLIB = armlinuxg++

  #/configure nolargefile noqtsupport nomake tools make examples silent xplatform qws/linuxarmg++   embedded arm depths

  #make (时间很长要有心里准备)
    #make install
 
上面/configure的参数中systemlibjpeg需要libjpeg库必须在安装前先安装libjpeg库否则会报错
 
    为了使QT的qmake和QtopiaCorearm的qmake区别我把QtopiaCorearm中的bin目录下的qmake和ui等的文件名的首字母都改成了大写也就是QmakeUi等然后修改/bashrc修改PATH变量具体步骤如下
 #cd /usr/local/Trolltech# cd QtopiaCorearm/bin/
 #mv qmake Qmake  //其他个文件使用同样的操作这里就不多说了
 #vim /bashrc
 在最后一行加入
 export PATH=$PATH:/usr/local/Trolltech/QtopiaCorearm/bin
 保存退出
到此Qtopiacoreopensourcearm已经安装成功

  () 将/usr/local/Trolltech/QtopiaCorearm/lib下的文件拷到文件系统的lib下

  注意fonts文件夹只留wenquanyi字体就行不然会出现汉字显示为空的问题

  QTextCodec::setCodecForTr(QTextCodec::codecForName(GBK));

  appsetFont(QFont(wenquanyi ));
      如果QT界面显示的全是乱码那么这时应该就是编码的问题
      如果QT界面显示的全是空白那么这时应该就是字体的问题

  
)添加QT环境变量到开发板

  在文件系统中关键要设置环境变量才能让Qt的程序找到我们移植的Qt的库真正跑起来设置环境变量可分两种与PC机上一样可以在命令行下设置还有一种方法是在/etc/profile文件中设置让开发板一启动就自动设置添加命令如下

  export FRAMEBUFFER=/dev/fb/(我没有加)

  export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/lib/Qtopia:$LD_LIBRARY_PATH

  export QWS_DISPLAY=LinuxFb:mmWidth:mmHeight:(我没有加)

  关键是LD_LIBRARY_PATH这个设置让系统知道Qt的库的位置即/usr/lib/Qtopia还有一个关键是QWS_DISPLAY因为我们在运行程序时有一个参数是qws例如/analogclock –qws 设置好QWS_DISPLAY后才能在显示屏上显示按我们要求比例大小的图像

  注意添加完环境变量后source /etc/profile才生效

  如果想要开机就执行你做的QT程序的话可以在profile文件中继续添加exec /路径/程序名 qws

  建议你先备份个文件系统因为开机就运行QT程序的话就不能再进文件系统修改profile文件了!

  终于完成了不错!

网友评论