QT程序在板文件系统中运行不了

QT程序在板文件系统中运行不了,第1张

这个错误没碰到过,检查下你的程序是不是交叉编译过的,确定是使用的arm-linux-gcc而不是gcc,编译后的程序在x86-linux上是无法直接运行的,要使用qvfb才可以看运行效果。

嵌入式LINUX系统安装时,内核映像只有2M左右,但文件系统却有100M,为什么?

你说的"文件系统"实际上说的是”根文件系统“,这个根文件系统当中至少包括了一些基本目录,如/etc, /lib,/bin ...等等。

还有一个概念叫”最小(根)文件系统“,他只包括了启动所需要的最基本的文件,例如/etc/init.d/rcS, /bin/busybox, /lib/libc.so ...等等,它的大小实际上也只要几M。如果仅仅是完成最基本的启动,那么这个文件系统已经足够了。

好了,那为什么你用到的根文件系统会有100M,而不是几M呢,因为我们的系统跑起来之后还要运行一系列的应用程序,看你给出的文件系统命名,应该会有一个叫qtopia的图形应用程序。

qtopia是 基于Qt的,那么我们要让qtopia跑起来,就需要Qt的库文件如libqtcore.so, libqtgui.so等,当然还需要Qt所需要的其它库如C++库libc++, 图片库,如libpng 之类的,这些库文件加起来就是几十M。另外qtopia应用程序本身也应该放在文件系统上吧,又需要空间。

当然除了qtopia之外还有很多其它应用程序和所需要的其它库,还有一些以模块方式(Moudle,后缀.ko)存在的驱动程序需要放在根文件系统中,当然还有诸如配置文件之类的东西,所以你看到的文件系统从只需要几M的最小根文件系统变成了100M的文件系统。

==========================================================================

文件系统比如FAT32之类只要实现了一种管理存储器文件的函数就行,跟启动方式和功能外设有啥关系?

如前所述,所有的东西都放在文件系统中,包括以模块方式存在的驱动,那么很明显root_nfs是以nfs(net file system)方式启动,那么你至少需要网络支持吧,其它的几个也是相同的道理,我估计这几个文件系统的主要区别就是驱动模块和配置文件不同而已。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11488404.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存