Qt应用程序的移植问题

leofly813 2013-03-11 09:29:57
先说下软硬件平台:
硬件:杨创2440
软件:
VMware 9
Ubuntu 12.04 LTS
QtEmbedded-4.5.3-arm
arm-linux-gcc-4.3.2
busybox-1.16.1
当我运行./hello -qw时报错:
QScreenLinuxFb::connnect: Too many levels of symbolic links
Error opening framebuffer device /dev/fb0
LinuxFb: drvier cannot connect

上网查过Too many levels of symbolic links错误是因为ln链接的时候没有采用绝对路径,但是我始终不知道怎么解决这个问题,麻烦各位高手帮忙,谢谢!
...全文
407 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
leofly813 2013-03-22
  • 打赏
  • 举报
回复
哎呀搞错了,解决方法在这边,另外一个类似的,链接到这边解决。 (1)Error opening framebuffer device /dev/fb0 关于这个错误,除了网络上常见的解决方式:加载framebuffer驱动,建立/dev/fb0与/dev/fb/0连接之外,我的是这样的,因为这两个我都弄了,还是不行,因为我发现启动后/dev目录下除了我手动建立的null和console两个设备,什么也没有,根本就没有fb0,然后我移植了udev后,/dev下多了很多设备,也包括fb0,这样问题就解决,遇到类似问题的可以试试看。 (2)解决上面的问题后,运行QT报段错误。我一查是说编译器的问题(arm-linux-gcc-4.3.2,qte-4.5.3).悲剧啊,换编译器吧,上网查过之后,决定使用arm-linux-gcc-4.4.3(彻底解决了QT4段错误)。UBOOT,KERNEL,YAFFS全部用arm-linux-gcc-4.4.3来编译,结果又报内核太老(linux-2.6.24),查过之后arm-linux-gcc-4.4.3要使用linux-2.6.32以上的内核才行。好吧移植内核linux-2.6.32.2结果发现linux-2.6.32.2的内核NAND_ECC校验和之前的老版本不一样了,所以用之前mkyaffs2image工具制作的yaffs文件系统不行了,哎。。。。自己修改mkyaffs2image的源码制作工具吧。。。上网查过之后,资料太少,不好弄。后来无意中看到了友善之臂提供linux-2.6.32.2内核可以使用mkyaffs2image制作的yaffs(可能里面做了修改,具体我的也不清楚了),速度下载下来移植。。。终于看到了久违的hello_world。。。。希望对大家有帮助。
leofly813 2013-03-22
  • 打赏
  • 举报
回复
问题已经解决了,来结贴,解决问题的方法见。 http://bbs.csdn.net/topics/390381252?page=1#post-393813856
leofly813 2013-03-12
  • 打赏
  • 举报
回复
这个问题我困扰我很久了,之前说是链接的问题,后来我做了ln -s /dev/fb/0 /dev/fb0 就报错这个错了,之前是报: QScreenLinuxFb::connnect: No such file or directory Error opening framebuffer device /dev/fb0 LinuxFb: drvier cannot connect 麻烦大家帮帮忙谢谢了
leofly813 2013-03-12
  • 打赏
  • 举报
回复
引用 8 楼 fsx92 的回复:
你设置一个环境变量试试呢 export FRAMEBUFFER=/dev/fb0
嗯,我明天去公司试试看看,我进系统后,发现/dev下没有fb0,但是fb目录下有个0,然后我就软硬链接我都试了,好像结果一样的。
嵌入式农民工 2013-03-12
  • 打赏
  • 举报
回复
你设置一个环境变量试试呢 export FRAMEBUFFER=/dev/fb0
嵌入式农民工 2013-03-12
  • 打赏
  • 举报
回复
如果你正确加入了framebuffer驱动,为什么找不到设备文件/dev/fb0.你先看看有没有/dev/fb1,/dev/fb2.....什么的。是不是你的驱动不对。
leofly813 2013-03-12
  • 打赏
  • 举报
回复
引用 5 楼 fsx92 的回复:
你这样建立的软链接似乎不对。你也许需要重新编译内核或者添加fb的驱动。
您好,软链接和硬链接我都试过了,不过还是不行,内核部分我已经加了framebuffer的驱动支持了,我的板子现在只能显示logo,开机就一直显示logo,但是串口信息看到是已经启动了,linux的命令行已经可以使用了。
嵌入式农民工 2013-03-12
  • 打赏
  • 举报
回复
你这样建立的软链接似乎不对。你也许需要重新编译内核或者添加fb的驱动。
haltwang 2013-03-11
  • 打赏
  • 举报
回复
引用 2 楼 qq214517703 的回复:
问题是在这里Error opening framebuffer device /dev/fb0 我用的是友善之臂的不会有这种问题, 不过上次有一个前辈用的是海思的板子,他也遇到你这个问题,后来解决的方法好像是还要另外移植一个图像处理的什么库 我记不得了 希望对楼主有所帮助吧。
两位大神Opengl 在板子上能跑么,我的交叉编译器-opengl一直配置不成功。
雲天之巔 2013-03-11
  • 打赏
  • 举报
回复
问题是在这里Error opening framebuffer device /dev/fb0 我用的是友善之臂的不会有这种问题, 不过上次有一个前辈用的是海思的板子,他也遇到你这个问题,后来解决的方法好像是还要另外移植一个图像处理的什么库 我记不得了 希望对楼主有所帮助吧。
leofly813 2013-03-11
  • 打赏
  • 举报
回复
上面打错了,是运行./hello -qws 是报的错

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧