qt-5.6.0 移植之qt文件系统的建立
经过差不多两个星期的奋斗,终于在板子里面跑起来了qt 程序,虽然现在还没有把触摸屏驱动加上去,但是我相信已经不远了!!!!!
在前两篇的随笔里面 , 已经编译好了最纯净的文件系统以及交叉编译完成了qt-5.6.0 的源码库。
交叉编译qt-5.6.0 地址是http://www.cnblogs.com/chenfulin5/p/5798764.html
建立最纯净的文件系统的地址是:http://www.cnblogs.com/chenfulin5/p/5796415.html
tslib库的地址:http://www.cnblogs.com/chenfulin5/p/5801604.html
第一步:qt源码编译完成后 , 我的make install 后的所在目录是/home/desk/7109/qtsrc
进去里面,把examples lib plugins include cp 到最纯净的文件系统下的/opt/qte/目录下。
没有的自己创建。
第二步:进入自己的编译的tslib 库下 , 将bin etc include lib 全部cp 到自己的最纯净的文件系统下的/usr/tslib/下。
没有这个文件夹的也要自己创建。
第三步:到自己交叉编译器的sysroot 目录里面。我这个是ti 提供的交叉编译器,这整个一套是有很多相关的库的。
把lib include 里面的相关的东西全部cp 到最纯净的文件系统根目录下的相对应的位置。
在进入交叉编译器的usr/lib 目录。这里面有一个非常非常大的库, 我觉得如果我没有这个文件夹里面的东西的话我可能也不能这么快就做好了这项移植工作。
这里的话 , 我们要找到ctr.* glib-2.0 libc* libd* libEGL* libex* libfon* libfree* libg* libthread* libIMG* libm* libn* libpthread*
libpvr* librt* libvt* libsrv* libstdc++* libudev* libusb* libusc* libutil* libuuid* libX11* libxau* libxcb* libX* libz.*
把这些文件打包成tar 包直接考到 最纯净的文件系统下的usr/lib 目录下 , 把include 里面的所有头文件也考到/usr/include下
第四步:建立qt环境
在搭好的文件系统里面:在/etc/profile加上这么一段话:
1 # qt configure 2 3 export TSLIB_CONSOLEDEVICE=none 4 export TSLIB_FBDEVICE=/dev/fb0 5 export TSLIB_TSDEVICE=/dev/input/event1 6 export TSLIB_CONFFILE=/usr/tslib/etc/ts.conf 7 export TSLIB_PLUGINDIR=/usr/tslib/lib/ts 8 #export TSLIB_CALIBFILE/etc/pointercal 9 10 export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/tslib/lib:/opt/qte/lib 11 export PATH=$PATH:/usr/bin:/usr/tslib/bin:/usr/sbin:/bin 12 13 export QTDIR=/opt/qte 14 export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins 15 export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0 16 export QT_QPA_FONTDIR=$QTDIR/lib/fonts 17 export QT_QPA_GENERIC_PLUGINS=tslib:$TSLIB_TSDEVICE 18 19 export QT_DEBUG_PLUGINS=1
这是一段qt 以及 tslib 的配置。
最后一段话是关qt_debug信息调试信息的显示。
如果你某个程序运行不起来,可以开启他然后进行调试。
把文件系统做成你自己的格式。在minicom 中进入以后,root登录,没有密码。
在终端下敲命令:
/opt/qte/examples/touch/pinchzoom/pinchzoom
我们就可以看到我们可爱的小老鼠了。。。。。。。如果出现了什么问题,开启那个调试信息,看缺少什么库,缺少什么库你就去找什么库。
移植。恩,应该是这样。