查看: 4343|回复: 11

TQ210开发板安装QT交叉编译环境安装总结(转)

[复制链接]
  • TA的每日心情
    奋斗
    2018-3-5 10:57
  • 签到天数: 112 天

    连续签到: 1 天

    [LV.6]常住居民II

    发表于 2016-2-18 10:41:48 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 embedsky007 于 2016-2-22 15:04 编辑

       系统环境:Ubuntu 12.04 64bit
      开发平台:TQ 210开发板
      一、总体流程:
      二、Ubuntu12.04下安装tslib 1.4 出现各种问题汇总:
      出现./autogen.sh: 4: ./autogen.sh: autoreconf: not found的错误解决
      我看教程说的是直接执行命令 ./autogen.sh就可以了,后来我执行出错: ./autogen.sh: 4: ./autogen.sh: autoreconf: not found
      上网查了查说是我的版本没有安装automake工具。解决方法如下
      sudo apt-get install autoconfautomakelibtool 这时候再次执行./autogen.sh就不出错了
      在执行make的时候出现: 在函数‘open’中
      内联自‘main’于 ts_calibrate.c:227:11:
      /usr/include/i386-linux-gnu/bits/fcntl2.h:51:24: 错误:调用‘__open_missing_mode’,声明有错误属性:open with O_CREAT in second argument needs 3 arguments 在函数‘open’中,
      内联自‘main’于 ts_calibrate.c:229:11:
      /usr/include/i386-linux-gnu/bits/fcntl2.h:51:24: 错误:调用‘__open_missing_mode’,声明有错误属性:open with O_CREAT in second argument needs 3 arguments 去 tests目录下打开ts_calibrate.c,修改 227和229行
      解决方法:
      gcc新版本编译器对语法检查严格,在源文件 ./tests/ts_calibrate.c中
      // 源文件
      // if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) { // cal_fd = open (calfile, O_CREAT | O_RDWR); // } else {
      // cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR); // }
      // 需要更改成如下形式
      if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) { cal_fd = open (calfile, O_CREAT | O_RDWR, 0777); } else {
      cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR, 0777); }
      保存后重新编译即可
      三、Arm-linux-gcc交叉编译器安装详解:
      1、天嵌提供的4.4.6交叉编译器的位置;
      2、解压该安装包:sudo tar -xjvf ~~~~~~~~~ -C /
      3、他会解压到:/opt/EmbedSky/4.4.6路径下,可以看到里面有个bin
      4、添加环境变量: vi /etc/profile 在最后添加:export PATH=$PATH:/opt/EmbedSky/4.4.6/bin wq保存退出后 source /etc/profile 然后重启电脑
      5、输入arm-linux-gcc -v可能会提示如下错误:
      遇到这种情况请先检查自己的路径有没有出错,如果确定没有;如果Ubuntu系统是64位,那么很可能就是如下的原因:
      安装完这个之后再输入arm-linux-gcc -v应该就没有问题了。 至此,交叉编译器安装完成。
      四、编译qt-4.5 for arm:
      在你arm-linux-gcc配置好之后,做到这里,我们就可以开始编译qt-4.5 for arm了! 1,解压qt-4.5源码包:sudo tar xjvf qt-4.5_for_TQ210_V1.0.tar.bz2 -C /
      2、解压好了之后,我们就会在/opt/EmbedSky/qt-4.5里面发现一下各个文件
      第一个是源码包,第二个是天嵌编译好的arm开发板上qt-4.5的脚本文件,第三个可以不用管,(如果需要你可以去pdf中查看下),本来编译arm上的qt-4.5正常的做法是进源码包,然后控制执行./configure 的参数的,但是这里既然有官方脚本,那我们就不自己输了。
      3、执行脚本sudo ./arm_qt4.5_build,我们很可能会遇到这个问题。 The tslib functionality test failed! You might need to modify the include and library search paths by editing QMAKE_INCDIR and QMAKE_LIBDIR in /opt/EmbedSky/qt-4.5/qt-embedded-linux-opensource-src- 4.5.0/mkspecs/qws/linux-arm-g++. Build Qt4.5 library now, please wait ... gmake: *** 没有指明目标并且找不到makefile。停止。 Install Qt4.5 library now, please wait ... gmake: *** 没有规则可以创建目标“install”。停止。
      这个时候我们首先输入arm-linux-gcc -v查看自己交叉编译器是否正常,确定正常后再执行脚本如果还是发现这个错误。这个时候需要做的是 先转化为root用户:su – root 然后再执行脚本:./arm_qt4.5_build
      虽然不知道是为什么,但是这样的确是可以了。
      五、配置Ubuntu下QT-4.5的环境:
      正常情况下,我们的系统已经装好了PC上的Qt版本,譬如我这里装好了qt-4.8.5,我们要装用于开发板的qt-4.5,应该在装完上一步之后进行Qtcreater进行配置,但是我们的这里Qtcreater版本好像是太高的原因,添加qt-4.5的qmake路径时候老是会出错,所以我的做法是修改环境为qt-4.5,然后通过纯代码来编译,现在打开终端输入which qmake,可以看到qmake的信息是我们原先装的qt-4.8.5。接下来我们来添加qt-4.5的环境变量:
      修改/etc/profile:sudo vi /etc/profile 在最后我们添加如下内容:
      具体路径要根据自己的实际情况而定, 然后老规矩:source /etc/profile
      这个时候再查看:whichqmake
      OK!可以了,不过这里需要指出的这样配置的qmake只适用于当前的终端窗口,你一但关闭这个终端窗口或者重启,qmake又会变成了4.8.5。所以呢,每次需要qt-4.5编译之前都需要source /etc/profile一下。

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-3-13 10:11
  • 签到天数: 1088 天

    连续签到: 2 天

    [LV.10]以坛为家III

    发表于 2016-2-18 11:09:49 | 显示全部楼层
    话说Linux现在是吃力不讨好。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-2-22 14:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2016-2-22 14:56:22 | 显示全部楼层
    那是指开发前期吧,想想开发后的后期维护就不会这样说了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-22 15:46:53 | 显示全部楼层
    不错,目前正在学习Linux
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-22 15:56:57 | 显示全部楼层
    好东西,学习了谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-23 09:24:28 | 显示全部楼层
    看到楼主分享的好东西,果断学习中~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-23 10:05:33 | 显示全部楼层
    哦,不错,公司正准备要用210做开发,学习了,以后方便搭建环境,谢谢斑竹分享!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-17 17:27
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2016-2-26 12:30:33 | 显示全部楼层
    正在用TQ210的主板,受益良多
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-3-5 10:57
  • 签到天数: 112 天

    连续签到: 1 天

    [LV.6]常住居民II

     楼主| 发表于 2016-3-1 16:33:45 | 显示全部楼层
    Sukey 发表于 2016-2-22 14:56
    那是指开发前期吧,想想开发后的后期维护就不会这样说了。

    呵呵我们向来从一而终,是我们的客户,有可解决的需求,我们是一定不会放弃的,这是每一个天嵌人持之以恒的信念!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-3-5 10:57
  • 签到天数: 112 天

    连续签到: 1 天

    [LV.6]常住居民II

     楼主| 发表于 2016-3-1 16:34:30 | 显示全部楼层
    yeah26 发表于 2016-2-23 10:05
    哦,不错,公司正准备要用210做开发,学习了,以后方便搭建环境,谢谢斑竹分享! ...

    请问具体是哪方面的开发呢,如有需要可以进一步探讨
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-3-29 20:48 , Processed in 0.192913 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.