在线问答
直播中

windworld

11年用户 1613经验值
擅长:电源/新能源 嵌入式技术 模拟技术 处理器/DSP
私信 关注

【OK210试用体验】之qt移植中qt4.7.1编译

本帖最后由 windworld 于 2015-10-9 21:23 编辑

    国庆基本上就将环境基本搭建好了并开始调试工程代码了,但是没来得及发帖,然后因为项目之前设想要做一个上位机的绘图面板,没有屏很不方便,所以这两天买了屏在路上,趁着屏没来,整理下前面没来及发的帖子。
    先说明下我是使用win7下VMware虚拟机安装Ubuntu12.04做的实验,开发板为OK210,采用的交叉编译器是arm-2009q3也就是 4.4.1版本。
    最开始参考的是“OK6410 QT移植百科全书”这个电子版的资料,因为OK210OK6410很多地方环境都差不多,所以一直参考的这个,但发现编译一直不通过,最后参考OK210光盘中UbuntuQt4.7.1编译环境配置说明,终于配置成功了。
    tslib 库,是触摸屏校准时需要的库文件,这个前面帖子【OK210试用体验】之qt移植tslib的编译和配置已经讲解过,这里主要说下如何编译Qt4.7.1以及过程中出现的问题。
    首先在根目录下建一个witech文件夹并修改权限
  1. mkdir /witech
  2. chmod 777 /witech
    然后将qt-everywhere-opensource-src-4.7.1.tar.gz通过Samba拷打到witech下,并利用tar命令对其解压
  1. tar zxvf qt-everywhere-opensource-src-4.7.1.tar.gz
    OK6410 QT移植百科全书到这里就直接开始执行脚本文件了,如果这样的话就会出问题,所以还要做下修改,查看build-all脚本里的编译设置
  1. gedit build-all
    对环境变量和路径的设置,参考下图
build修改.png
这里tslib根据你之前编译好的路径改写好即可,确保正确后执行./build-all
  1. ./build-all
在编译过程中很可能会出现下面的错误
  1.       Lib/libQtGui.so:undefined reference to ‘ts_read_raw’
  2.       Lib/libQtGui.so:undefined reference to ‘ts_open’
  3.       Lib/libQtGui.so:undefined reference to ‘ts_fd’
  4.       Lib/libQtGui.so:undefined reference to ‘ts_config’
  5.       Lib/libQtGui.so:undefined reference to ‘ts_close’
  6.       Lib/libQtGui.so:undefined reference to ‘ts_read’
    这个问题我们可以通过
修改/mkspecs/qws/linux-arm-g++/qmake.conf文件来解决
  1.      QMAKE_CC                = arm-linux-gcc -lts
  2.      QMAKE_CXX              = arm-linux-g++ -lts
  3.      QMAKE_LINK              = arm-linux-g++ -lts
  4.      QMAKE_LINK_SHLIB       = arm-linux-g++ -lts
其实就是添加了 -lts
    在OK210附带的UbuntuQt4.7.1编译环境配置说明书里这一步就完了,但是编译却没完,因为问题还是存在,后面完善看了飞凌官方发的帖子才知道,上面修改还不够,这里还要修改build-all脚本里的内容,通过gedit进入脚本后删除以下三行内容
修改.jpg
然后执行./build-all剩下就是等待编译完成
编译完成.png
等出现上面窗口后基本就编译完成了,可以到/opt目录下查看是否有qt-4.7.1

更多回帖

发帖
×
20
完善资料,
赚取积分