移植Qt
来源:互联网 发布:淘宝生产许可证怎么办 编辑:程序博客网 时间:2024/06/05 20:01
buildroot中配置
Target packages ---> Graphic libraries and applications (graphic/text) ---> [*] Qt ---> [*] Approve free license Graphics drivers ---> [*] Linux Framebuffer (NEW) Keyboard drivers ---> [*] linux input
配置完,进行编译,最终生成的文件系统中usr/lib目录下包含了Qt的动态库。
环境变量
在etc/init.d目录下的初始化脚本中设置Qt的环境变量
export QTDIR=/usr/libexport LD_LIBRARY_PATH=$QTDIR/:$LD_LIBRARY_PATHexport QT_QWS_FONTDIR=$QTDIR/fontsexport QWS_SIZE=640x480export QWS_DISPLAY=LinuxFb:/dev/fb0
问题
这样移植完之后,Qt程序可以正常运行,但是按键不管用。网上说需要显示的指定keyboard的设备,但是我们需要热插拔标准键盘就出现问题了。所以,Qt应该动态识别keyboard的设备。
其他项目中的Qt是可以实现动态识别的。通过对比,发现唯一的区别就是Qt的动态库不同。一个是手动配置编译的,一个是buildroot配置编译的,难道buildroot会出错。
手动编译
cd output/build/qt-4.8.7目录下
make cleancd mkspecscp -rf linux-arm-gnueabi-g++ linux-arm-g++
vi linux-arm-g++/qmake.conf,修改交叉编译工具
# modifications to g++.confQMAKE_CC = arm-linux-gccQMAKE_CXX = arm-linux-g++QMAKE_LINK = arm-linux-g++QMAKE_LINK_SHLIB = arm-linux-g++# modifications to linux.confQMAKE_AR = arm-linux-ar cqsQMAKE_OBJCOPY = arm-linux-objcopyQMAKE_STRIP = arm-linux-strip
配置信息如下:
./configure \ -prefix /usr/local/arm/qt4.8.7\ -opensource \ -confirm-license \ -release -shared \ -embedded arm \ -xplatform linux-arm-g++ \ -depths 16,18,24,32 \ -fast \ -optimized-qmake \ -little-endian -host-little-endian \ -qt-zlib \ -no-openssl \ -no-glib \ -no-qt3support \ -no-libtiff -no-libmng \ -no-opengl \ -no-mmx -no-sse -no-sse2 \ -no-3dnow \ -no-qvfb \ -no-phonon \ -no-nis \ -no-opengl \ -no-cups \ -no-separate-debug-info \ -nomake docs \ -qt-kbd-linuxinput
编译:
make
利用新编译出来的qmake来编译自己的Qt程序。
通过arm-linux-readelf命令查看程序依赖的Qt动态库
arm-linux-readelf -d my_qt
手动将这些动态库拷贝到根文件系统下,替换掉之前buildroot编译出来的动态库。
还是使用之前的配置:
export QTDIR=/usr/libexport LD_LIBRARY_PATH=$QTDIR/:$LD_LIBRARY_PATHexport QT_QWS_FONTDIR=$QTDIR/fontsexport QWS_SIZE=640x480export QWS_DISPLAY=LinuxFb:/dev/fb0
现在按键可以使用了,而且标准键盘也可以使用了。不需要显示指定keyboard设备。
这儿的重点是配置时设置keyboard的输入为linuxinput。猜想Qt的内核中处理了该动态事件。
阅读全文
0 0
- qt移植
- qt移植
- qt 移植
- qt移植
- 移植QT
- qt 移植
- qt移植
- QT移植
- QT 移植
- qt移植
- 移植QT
- QT移植
- 移植QT
- qt 移植
- qt 移植
- Qt移植
- QT移植
- Qt移植
- 深入java虚拟机
- 求和最接近整个序列和的一半的子序列,是个标准的子序列问题,不过不知道O(N^2)是不是最优的
- c#文件操作类
- python︱sklearn一些小技巧的记录(pipeline...)
- PAT A1096.Consecutive Factors
- 移植Qt
- mysql 基本操作
- jdk并发工具包之锁
- 01 html的学习笔记
- C++数独求解程序(阿里巴巴社招笔试题)对比:包括新加坡总理李显龙的程序
- English words page nine
- 一个js函数的改进(实现动画效果)
- 【BZOJ1060】【ZJOI2007】时态同步
- 读书笔记∣商务与经济统计Ch.1-3