6255|24

1461

帖子

1

TA的资源

纯净的硅(中级)

楼主
 

参与HELPER2416开发板助学计划: 编译使用QT4,纯新手教程 [复制链接]

   qtopia的程序实在是不太明白,就暂时放过。先照着官方文档,用用QT4吧,结果发现写得有点不太清楚,为了造福像我这样的纯新手,就把我研究出来的笨办法分享出来。
   首先还是按照官方文档编译qt4,编译这块官方文档写得很详细,但是接下来就有点不明不白,我的方法就是编译完成后把target-qte-4.7.2.tgz和switch_to_qt4 都复制到TF卡里。然后插到板子的卡座里。通过TF卡来传输这两个文件。
   接下就是通过串口把板子和电脑相连,打开串口助手一类的软件,我用的是串口猎人。将接收和发送都选成字符串。然后开机。开机完成,串口猎人显示如下图:
                                 
注意我红线标出的部分:请按ENTER激活控制台,因为我们是使用串口操作,因而只需要在发送框里按一下ENTER,然后发送就心如控制台了。进入成功了,像下图:
                              
接下来就是把两个文件从TF卡拷贝到根文件系统。TF卡在linux中默认的挂载位置是sdcard。如果不确定,可以输入ls+回车,查看。如图:
                              
可以看到里面的sdcard,然后只要拷贝到根文件系统就行,linux默认的根文件系统就/,也就是说挂载点就是/。
接下来在串口猎人中发送下面两条指令:cp /sdcard/switch_to_qt4 /;cp /sdcard/target-qte-4.7.2-tgz /  运行结果如图:
                                 
接下来就是解压target-qte-4.7.2.tgz。输入命令:tar -xvf target-qte-4.7.2.tgz  就行了,运行结果如图:
                              
接下来就是设置qt4环境,发送source ./switch_to_qt4 就行,这步就不上图了。至此,所有工作就完成了。接下来就是运行一个示例程序来验证一下。通过串口发送 /usr/local/Trolltech/QtEmbedded-4.7.2-arm/examples/widgets/wiggly/wiggly -qws 就行了。
运行的结果如下图:
                              
如果要重新启动qtopia有两个方法,1:串口发送/bin/qtopia  ;2:直接重启板子。


注意:发送命令时,不要忘记了加回车,因为回车在发送中是不显示的,所以容易漏掉。




论坛ID:shihuntaotie
提交时间:2014.07.09

2.JPG (15.91 KB, 下载次数: 0)

2.JPG

最新回复

这个很正常,你也不用汗颜,我们每个人可能都经过过你这样的阶段。。。  详情 回复 发表于 2014-7-14 20:15

赞赏

1

查看全部赞赏

点赞 关注

回复
举报

554

帖子

0

TA的资源

版主

沙发
 
楼主真的很棒,这么短的时间就写出了第一个QT程序!!!
其实,深入研究之后,发现其实QT并不那么难!
 
个人签名My dreams will go on...
http://www.jyxtec.com
 

回复

1461

帖子

1

TA的资源

纯净的硅(中级)

板凳
 
spacexplorer 发表于 2014-7-9 19:28
楼主真的很棒,这么短的时间就写出了第一个QT程序!!!
其实,深入研究之后,发现其实QT并不那么难!

说实话,这不是我写的,我只是运行了示例程序而已。QT程序正在看
 
 
 

回复

136

帖子

2

TA的资源

一粒金砂(中级)

4
 
赞一个
 
 
 

回复

1059

帖子

0

TA的资源

纯净的硅(高级)

5
 
我有个问题啊,这样好像是把开发环境给部署到板子上面了,我看手册上面好像也是在板子上面的qt designer上面进行开发,这个是正确的套路么?

我理解的交叉编译,应该是在PC上面进行开发,然后放到板子上面去运行吧?我今天简单试了下,用fc12的qt designer写了个helloworld,默认的make方法,结果报下面错误:
[root@jyxtec myapp]# ./TextFinder
./TextFinder: error while loading shared libraries: libQtGui.so.4: cannot open s
hared object file: No such file or directory
 
个人签名博客:http://www.ysgh.net/
 
 

回复

1461

帖子

1

TA的资源

纯净的硅(中级)

6
 
astwyg 发表于 2014-7-11 21:52
我有个问题啊,这样好像是把开发环境给部署到板子上面了,我看手册上面好像也是在板子上面的qt designer上面 ...

我这个就是在PC上编译的程序,前面编译的QT4只是运行环境,板子上要有运行环境才能运行PC上编译的程序
 
 
 

回复

1059

帖子

0

TA的资源

纯净的硅(高级)

7
 
又看了下  和boss交流了下,终于理解了一点.
楼主提到的接下来不明不白,那块我也乱了,现在看来 应该是用nfs的方法把文件传到板子上,和楼主用TF卡拷贝效果是一样的,我也用TF卡拷贝吧..

现在还有一个问题,怎么设置QT designer 让他能像ADT调试安卓程序那样,把板子当作仿真器来运行开发中的程序.
 
个人签名博客:http://www.ysgh.net/
 
 

回复

1461

帖子

1

TA的资源

纯净的硅(中级)

8
 
astwyg 发表于 2014-7-11 22:28
又看了下  和boss交流了下,终于理解了一点.
楼主提到的接下来不明不白,那块我也乱了,现在看来 应该是用nfs ...

这个还没研究过,我就是觉得联网麻烦采用TF卡拷的。
 
 
 

回复

1059

帖子

0

TA的资源

纯净的硅(高级)

9
 
shihuntaotie 发表于 2014-7-11 21:55
我这个就是在PC上编译的程序,前面编译的QT4只是运行环境,板子上要有运行环境才能运行PC上编译的程序

嗯嗯
之前我理解偏了..现在再整理一下:
FC12里面的QT designer只是个编辑器,不包括编译器和运行环境,所以需要在FC12中编译qtopia和qt4?
开发板上面现在的qt运行环境不是qt4?所以需要从FC12编译完的结果里面拷贝一份到开发板?

上面的理解正确么?话说qtopia编译真慢,我的老pc折腾了快一小时了
 
个人签名博客:http://www.ysgh.net/
 
 

回复

1461

帖子

1

TA的资源

纯净的硅(中级)

10
 
astwyg 发表于 2014-7-11 22:55
嗯嗯
之前我理解偏了..现在再整理一下:
FC12里面的QT designer只是个编辑器,不包括编译器和运行环境,所 ...

qtopia2还行,4确实太慢了
 
 
 

回复

554

帖子

0

TA的资源

版主

11
 
astwyg 发表于 2014-7-11 22:55
嗯嗯
之前我理解偏了..现在再整理一下:
FC12里面的QT designer只是个编辑器,不包括编译器和运行环境,所 ...

理解正确,qtopia2.2下的qt designer只是一个界面设计器,编译还是在命令行操作的,qt4则有完整的开发环境qtcreator!

QT编译是慢了点,不过,这只需要一次编译,回头我把QT4的库传到我的网站上去,方便以后大家使用。。。
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

234

帖子

0

TA的资源

一粒金砂(高级)

12
 
spacexplorer 发表于 2014-7-12 09:20
理解正确,qtopia2.2下的qt designer只是一个界面设计器,编译还是在命令行操作的,qt4则有完整的开发环 ...

我的Qt4写的程序,现在是能够在开发板运行了,但是有一个问题, 这点击触摸屏, 然后就花屏了...
难道是跟编译Qt时没有加触摸库有关??


 
 
 

回复

554

帖子

0

TA的资源

版主

13
 
foxpro2005 发表于 2014-7-13 01:41
我的Qt4写的程序,现在是能够在开发板运行了,但是有一个问题, 这点击触摸屏, 然后就花屏了...
难道是 ...

按照手册里提供的方法编译出来的QT4就是支持触摸的,只是在运行QT4程序之前先要执行环境变量设置,在我们的QT4代码目录里有这个环境设置脚本:switch_to_qt4,放到板子上的任意目录,并进入该目录,按如下方法执行即可:
# . ./switch_to_qt4
或者:
# source ./switch_to_qt4
注意格式,不是直接运行脚本,如下方法是错误的
#./switch_to_qt4
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

234

帖子

0

TA的资源

一粒金砂(高级)

14
 
spacexplorer 发表于 2014-7-13 15:25
按照手册里提供的方法编译出来的QT4就是支持触摸的,只是在运行QT4程序之前先要执行环境变量设置,在我们 ...

之前有编译过,但中断了,太耗时了,我足足等了两个小时,都没有编译完成...
后来想,既然您原来fc12虚拟光盘文件中都已经编译安装了,就直接偷懒,就运行您写好的脚本mk_qt4_target直接打包的
然后通过串口传到开发板上的,同时也把switch_to_qt4传过去了,并且都按手册要求操作执行了...
现在程序是可以运行,但一触摸界面, 界面上的按钮没有事件响应, 并且部分花屏, 花掉好一部分看到的是底层的qtopia的内容(而它上面的操作是有响应的)...

难道没有编译,真不行??...

 
 
 

回复

554

帖子

0

TA的资源

版主

15
 
本帖最后由 spacexplorer 于 2014-7-13 15:47 编辑
foxpro2005 发表于 2014-7-13 15:42
之前有编译过,但中断了,太耗时了,我足足等了两个小时,都没有编译完成...
后来想,既然您原来fc12虚 ...

这个问题是这样的,qtopia和qt4是两个独立的GUI系统,用一个不能用另一个,在用QT4时,要先杀掉qtopia的环境,在命令行操作如下:
# killall qpe
# . ./switch_to_qt4
# ./hello_world -qws

 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

234

帖子

0

TA的资源

一粒金砂(高级)

16
 
spacexplorer 发表于 2014-7-13 15:45
直接用我们编译好的,肯定是可以用的,也许是某一步操作失误。。。

我之前还发现一个问题, 开发板上之前没有RTC的那个电池,我也一直没有装, Qte打包文件解压安装后,当时安装了,过一会儿或板子重新上电后,解压安装的目录内容就没有了...

后来想到,怀疑是不是因为这个原因引起的, 就从STM32的开发板上,拔了一个钮扣电池装上, 就正常了,这个问题之前折腾了我一晚上...

 
 
 

回复

554

帖子

0

TA的资源

版主

17
 
foxpro2005 发表于 2014-7-13 15:53
我之前还发现一个问题, 开发板上之前没有RTC的那个电池,我也一直没有装, Qte打包文件解压安装后,当时 ...

因为现在航空公司查得紧,有些快递不能寄锂电池,所以我们出的货全部都没有安装RTC电池,但是这个不影响使用的,只要板子插上电源,就会自动给RTC供电了。
你说有些目录,拷资料进去之后重启就没有这是少数情况,在HELPER2416的板子上,如下目录不能永久保存东西:
/proc
/sys
/tmp
/dev
/var
这些都是内存目录,重启的时候自动创建的,其它目录没有限制。
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

234

帖子

0

TA的资源

一粒金砂(高级)

18
 
spacexplorer 发表于 2014-7-13 15:45
这个问题是这样的,qtopia和qt4是两个独立的GUI系统,用一个不能用另一个,在用QT4时,要先杀掉qtopia的 ...

呵呵, 非常谢谢陈老大,原来如此, 每次执行app的时候 都要执行那个环境变量切换的脚本..., 当时当成只需要一次了

我刚才试了一下, 现在不花屏了,但触摸还是不正常...
1. 光标与触摸的位置不对应..
2. 但界面上的控件无法响应事件..

 
 
 

回复

554

帖子

0

TA的资源

版主

19
 
正常情况下,如果在qtopia里触摸是正常的话,那在qt4里的触摸也应该是正常的,如果还不正常,可能还是环境变量没有设对,一定要用source或者"."来执行脚本,而且只能在已执行脚本的的窗口运行该程序。
如果qtopia里触摸也不正常的话,可以看一下手册附录里校准触摸的方法。
 
个人签名My dreams will go on...
http://www.jyxtec.com
 
 

回复

2144

帖子

3

TA的资源

五彩晶圆(中级)

20
 
不错的帖子 关注
 
个人签名电工
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表