高密做网站的公司,苏州行业网站建设报价,seo基础教程视频,亿网行网站建设背景#xff1a;
还是之前提到的触摸屏无响应问题#xff0c;通过GDB调试#xff0c;发现APP并非人为代码卡死#xff0c;而是卡在官方的libc.so.6中#xff0c;这个库出现了一些错误。排除自己代码问题#xff0c;就剩官方版本问题#xff0c;移植X11库#xff0c;或…背景
还是之前提到的触摸屏无响应问题通过GDB调试发现APP并非人为代码卡死而是卡在官方的libc.so.6中这个库出现了一些错误。排除自己代码问题就剩官方版本问题移植X11库或者新版本的的Qt。结合网上的解决办法先移植libX11查看效果。 参考
交叉编译libX11_\\libx11-CSDN博客
该文章已经很详细的讲到了移植全过程实践下来并没有太多问题并且他文中提到的问题一定会出现没有提到的也会出现大致是因为自己虚拟机环境以及版本问题只需要根据第一条报错逐条进行修复即可。 注意
问题1 原因是libxcb的版本太新我使用最新的版本正确配置和安装后在编译libX11还是会报错解决办法替换为较为早期的版本比如libxcb-1.16只要低于libproto版本即可。
问题2
libX11报错中断编译后解决完问题make clean重新配置编译。
问题3
env中的交叉编译工具链一定要在能找到的环境变量中才可以不然还是会报找不到编译器。
以下是我个人的环境变量设置仅供参考。 #! /bin/bash
## use config export
export ARCHarm ;
export CROSS_COMPILEarm-linux-gnueabihf-;
source /etc/profile
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).if [ $PS1 ]; thenif [ $BASH ] [ $BASH ! /bin/sh ]; then# The file bash.bashrc already sets the default PS1.# PS1\h:\w\$ if [ -f /etc/bash.bashrc ]; then. /etc/bash.bashrcfielseif [ id -u -eq 0 ]; thenPS1# elsePS1$ fifi
fiif [ -d /etc/profile.d ]; thenfor i in /etc/profile.d/*.sh; doif [ -r $i ]; then. $ifidoneunset i
fi
export PATH$PATH:/usr/local/toolchain/gcc-linaro/bin/
export UBUNTU_MENUPROXY0export PREFIX/home/cc/lib11/libX11_install
export HOSTarm-linux-gnueabihf
export LD_LIBRARY_PATH$PREFIX/lib
export PKG_CONFIG_PATH$PREFIX/lib/pkgconfig 结果查看 查看X11的版本网上都未提及通过下面指令在库文件目录查看。 strings libX11.so.6 | grep X11
所有用到的库的源文件已打包一键解压到目录编译安装即可。