天嵌 ARM开发社区

 找回密码
 注册
查看: 7494|回复: 15

EABI+Qt4.5.2+tslib1.4段错误的问题

[复制链接]
a263238386 发表于 2009-11-21 19:25:02 | 显示全部楼层 |阅读模式
被这个问题困扰了一星期了,论坛里也有人遇到过这样的问题,同样没解决,他说是编译器版本的问题,我看不然,我写了个控制台的Hello World测试就能通过,这说明应该不是编译器的问题。
结果我发现了一个很大的问题
正在我万般无奈准备换编译器重头再来的时候,我向死马当活马医,我把那个文件系统移植到了W35屏的板子上竟然通过了,
这只能说明一个问题,问题是可能出在了tslib上,但是怎样解决,我才疏学浅,没找到方法,希望亚瑟王关注一下。
 楼主| a263238386 发表于 2009-11-23 12:37:34 | 显示全部楼层
没人回,,自己接着顶。。
回复

使用道具 举报

亚瑟王 发表于 2009-11-23 14:45:21 | 显示全部楼层
你认为和tslib有关系,你怎么测试的tslib?
回复

使用道具 举报

 楼主| a263238386 发表于 2009-11-24 19:31:18 | 显示全部楼层
include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    qDebug("first");
    QApplication a(argc, argv,QApplication::GuiServer);
    qDebug("second");
    MainWindow w;
    w.show();
    return a.exec();
}

这样的一个Qt程序,板子上只能输出first,然后就段错误了,second不能输出,看来应该是Qt内部的问题了
回复

使用道具 举报

亚瑟王 发表于 2009-11-25 17:25:42 | 显示全部楼层
呵呵,tslib和Qt几乎是没有关系的(撇开Qtopia-2.2.0要使用tslib的校正值外)。
回复

使用道具 举报

 楼主| a263238386 发表于 2009-11-26 13:42:29 | 显示全部楼层
唉。。问题还没搞定。。
再搞不定,老板说不定就该裁人了。。
换了openmoko4.1.2的编译器,我看网上说的7寸屏幕跑Qt4.5.2出现段错误可以用这个编译器搞定,重头来了一遍还是没搞定
现在打算用gdb远程调试板子的Qt吧,必须要深入到Qt内部的源代码看了,
我又发现一个问题
只要Qt的程序不用到QApplication的就没有段错误,比如example/qws/framebuffer那个程序在板子就能跑我能看到三个长方块
亚瑟王你看能不能给提点方向性的意见,要不要换低版本的内核和编译器
回复

使用道具 举报

 楼主| a263238386 发表于 2009-11-26 15:09:35 | 显示全部楼层
亚瑟王
我在用gdbserver远程调试的时候出现了这个问题
gdbserver: error initializing thread_db library: version mismatch between libthread_db and libpthread
看意思好像是libthread_db 和libpthread这两个库不配套,我用的库是直接从光盘里拷的,
你看Qt跑的时候会不会引用到这两个库,会不会是这个问题引起的?
回复

使用道具 举报

亚瑟王 发表于 2009-11-26 16:16:50 | 显示全部楼层
qt跑的时候肯定要用这这个库的,你可以试一下下载一个同版本的这个库源码回来教程编译了替换掉编译器里面原有的库。
回复

使用道具 举报

 楼主| a263238386 发表于 2009-11-26 21:02:00 | 显示全部楼层
亚瑟王可否提供交叉编译libthread_db和libpthread的方法
我下载了glibc-linuxthreads-2.3.6,解压开里面有两个文件夹,linuxthreads和linuxthreads_db两个文件夹,可是我进入到里面看他们的makefile和config,也读了ReadMe和FaQ.html,我找不到类似于 target和CC这些用来定义目标板编译器 arm-linux的地方
亚瑟王可否提供交叉编译的方法?
回复

使用道具 举报

 楼主| a263238386 发表于 2009-11-26 21:02:53 | 显示全部楼层
呵呵,不管怎样,谢谢亚瑟王这么耐心的回复,由衷的谢谢你,亚瑟王!
回复

使用道具 举报

亚瑟王 发表于 2009-11-27 12:29:31 | 显示全部楼层
对了,还可以下载低版本一点的EABI的编译器试试(比如4.2.1、4.2.0),我怀疑4.3.3的版本太高了导致的。
回复

使用道具 举报

 楼主| a263238386 发表于 2009-11-27 13:28:43 | 显示全部楼层
有重大突破阿。。
我用crosstool自己编了一个arm-linux-4.1.0搭配linux-2.6.25.8的内核,呵呵,没段错误了
不过问题还是没解决
我只要一跑Qt的程序,它就会出现
Turn off The LCD Backlight
莫非是你们驱动改的有问题,我编2.6.25.8内核的时候是直接用光盘里的源码载入你们的配置文件的
回复

使用道具 举报

 楼主| a263238386 发表于 2009-11-27 13:39:51 | 显示全部楼层
"Turn Off The LCD BackLight" 这应该是你们做LCD背光驱动里面pritk()的一句话
回复

使用道具 举报

亚瑟王 发表于 2009-11-27 14:21:40 | 显示全部楼层
我知道你说的这个情况了,是Linux的控制台定时导致的错误所致。
http://blog.csdn.net/dongliqiang ... /06/12/4262950.aspx
这个帖子有解决办法。
回复

使用道具 举报

 楼主| a263238386 发表于 2009-11-29 05:49:37 | 显示全部楼层
恩  多写亚瑟王
用上面的方法解决了。。
呵呵  。终于解决了,多亏亚瑟王了。。
呵呵
可以结帖了。。
回复

使用道具 举报

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

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-6-17 20:24 , Processed in 2.034458 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表