六节tslib移植 、Qt移植到嵌入式linux
一、tslib移植
1.介绍
tslib 是一个开源的第三方库,用于触摸屏性能调试,使用电阻屏的时候一般使用 tslib 进行校准。虽然电
容屏不需要校准,但是由于电容屏加工的原因,有的时候其不一定精准,因此有时候也需要进行校准。**
最主要的是 tslib 提供了一些其他软件,我们可以通过这些软件来测试触摸屏工作是否正常。**最新版本
的 tslib 已经支持了多点电容触摸屏,因此可以通过 tslib 来直观的测试多点电容触摸屏驱动,这个要比观
看 eventX 原始数据方便的多。
2.源码下载及解压
官网地址:http://www.tslib.org/
下载地址:https://github.com/libts/tslib/releases
这里我们使用tslib 1.22进行移植。
imx6ull-iot-smart-car/tslib$ tar -xvf tslib-1.22.tar.bz2
3.移植
(1)安装相关的依赖包
sudo apt install autoconf
sudo apt install automake
sudo apt install libtool
(2)生成configer文件
imx6ull-iot-smart-car/tslib/tslib-1.22$ ./autogen.sh
(3)配置
./configure --prefix=$PWD/install --host=arm-linux-gnueabihf ac_cv_func_malloc_0_nonnull=yes
(4)编译
imx6ull-iot-smart-car/tslib/tslib-1.22$ make install
4.测试
(1)拷贝tslib库到根文件系统
将tslib源码目录下的install目录拷贝到根文件系统rootfs目录下,并重命名为tslib
删除lib目录下.la文件
删除lib目录下的pkgconfig文件夹
删除ts目录下.la
新建env.sh
内容如下
脚本执行权限
修改etc/profile
#LIB_CONSOLEDEVICE 表示控制台设置,这里不设置,因此为 none。
export TSLIB_CONSOLEDEVICE=none
#TSLIB_FBDEVICE 表示 FB 设备,也就是屏幕LCD,根据实际情况配置,LCD屏设备为/dev/fb0
export TSLIB_FBDEVICE=/dev/fb0
#TSLIB_CALIBFILE 表示校准文件,如果进行屏幕校准的话校准结果就保存在这个文件中,
#这里设置校准文件为/etc/pointercal,此文件可以不存在,校准的时候会自动生成。
export TSLIB_CALIBFILE=/etc/pointercal
#TSLIB_TSDEVICE 表示触摸设备文件,这里设置为/dev/input/event1,这个要根据具体情况设置,
#如果你的触摸设备文件为event2那么就应该设置为/dev/input/event2,以此类推。
export TSLIB_TSDEVICE=/dev/input/event0
#tslib的根路径
export T_ROOT=/tslib
#TSLIB_PLUGINDIR 表示 tslib 插件目录位置,目录为/lib/ts。
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
#TSLIB_CONFFILE 表示触摸配置文件,文件为/etc/ts.conf,此文件在移植 tslib 的时候会生成
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
#添加tslib测试程序路径到PATH
export PATH=$T_ROOT/bin:$PATH
#添加tslib库路径到LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH
QT库移植
1.源码下载及解压
下载地址:https://download.qt.io/archive/qt/
根据自己Qt开发环境下载对应版本的源码移植,这里我们使用的Qt 5.12.9版本来做移植。越高版本的Qt
源码对编译器的版本也要求越高。
国外地址下载:https://download.qt.io/archive/qt/5.12/5.12.9/
国内地址下载:https://mirrors.ustc.edu.cn/qtproject/archive/qt/5.12/5.12.9/
解压源码:
imx6ull-iot-smart-car/Qt$ tar -xvf qt-everywhere-src-5.12.9.tar.xz
2.修改qmake.conf
修改Qt源码目录下的qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf文件,修改如下:
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
#自己移植的平台添加,我们的芯片是imx6ull,采用的cortex-A7核,使用armv7指令集
QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
QMAKE_CXXFLAGS += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
#修改成自己的交叉编译工具链
# modifications to g++.conf
QMAKE_CC = arm-linux-gnueabihf-gcc
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_NM = arm-linux-gnueabihf-nm -P
QMAKE_STRIP = arm-linux-gnueabihf-strip
load(qt_config)
3.配置Qt
(1)添加配置脚本
在qt源码目录下添加一个config.sh文件,内容如下
#!/bin/bash
./configure -prefix /home/linux/imx6ull-iot-smart-car/Qt/qt5.12.9-install \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no
-pch
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
--xcb=no \
-tslib \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-tslib \
-I/home/linux/imx6ull-iot-smart-car/tslib/tslib-1.22/install/include \
-L/home/linux/imx6ull-iot-smart-car/tslib/tslib-1.22/install/lib \
-recheck-all
- 进行配置
qt-everywhere-src-5.12.9$ chmod 777 config.sh
qt-everywhere-src-5.12.9$ ./config.sh
- 编译
qt-everywhere-src-5.12.9$ make clean -j12
qt-everywhere-src-5.12.9$ make -j12
5.安装
qt-everywhere-src-5.12.9$ make install -j12
在ubunt18.04做移植的时候提示没有python
sh: 1: python: not found
Project ERROR: Building QtQml requires Python.
Makefile:170: recipe for target 'module-qtdeclarative-install_subtargets' failed
make: *** [module-qtdeclarative-install_subtargets] Error 3
其实在ubuntu18.04上面是有python3的,我们做一个软链接python到python3。
qt-everywhere-src-5.12.9$ which python3
/usr/bin/python3
qt-everywhere-src-5.12.9$ sudo ln -s /usr/bin/python3 /usr/bin/python
创建好python软连接后,继续make install就可以成功。
移植到根文件系统
1.在根文件系统rootfs添加Qt库
在rootfs目录下新建子目录Qt,并将Qt源码编译之后的Qt库拷贝到rootfs/Qt目录下
rootfs$ mkdir Qt
rootfs$ cd Qt
rootfs/Qt$ cp ../../../Qt/qt5.12.9-install/lib/ ./ -a
rootfs/Qt$ cp ../../../Qt/qt5.12.9-install/plugins/ ./ -a
rootfs/Qt$ cp ../../../Qt/qt5.12.9-install/qml/ ./ -a
2.删除rootfs文件系统的Qt库中不需要的文件
rootfs/Qt/lib$ rm -rf *.la *.a *.prl
rootfs/Qt/lib$ rm -rf cmake pkgconfig
3.添加字体库让Qt支持中文
(1)下载中文字体
下载地址:
https://nchc.dl.sourceforge.net/project/wqy/wqy-zenhei/0.9.45
(Fighting-state
RC1)/wqy-zenhei-
0.9.45.tar.gz
解压:
imx6ull-iot-smart-car/fonts$ tar -xvf wqy-zenhei-0.9.45.tar.gz
(2)拷贝中文字体到rootfs根文件系统
fonts/wqy-zenhei$ mkdir ../../fs/rootfs/Qt/fonts/
fonts/wqy-zenhei$ cp wqy-zenhei.ttc ../../fs/rootfs/Qt/fonts/
- 添加qt相关的环境变量
修改rootfs文件系统的/etc/profile文件,添加如下内容:
#qt 库所在的路径
export QT_ROOT=/qtlib
export T_ROOT=/tslib
#指定触摸设备
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event1
#qt 字库的目录
export QT_QPA_FONTDIR=$QT_ROOT/fonts
#qt 插件的目录
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
#指定LCD帧缓冲设备/dev/fb0
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0
#qt 插件的目录
export QT_PLUGIN_PATH=$QT_ROOT/plugins
#指定qml
export QML2_IMPORT_PATH=$QT_ROOT/qml
#使用 tslib 库
export QT_QPA_FB_TSLIB=1
#打开应用程序运行的时候输出的log信息
export QT_DEBUG_PLUGINS=1
#运行Qt程序之前先加载ts库
export LD_PRELOAD=$T_ROOT/lib/libts.so
#添加Qt库到系统环境变量
export LD_LIBRARY_PATH=$QT_ROOT/lib:$QT_ROOT/plugins/platforms:$LD_LIBRARY_PATH
5.测试
将Qt库安装路径的qt5.12.9-install/examples/widgets/widgets/digitalclock拷贝到根文件系统rootfs目录下
运行数字时钟
运行计算器
四、Qt交叉开发环境搭建
1.QtLinux开发环境安装
(1)下载在开发板上移植Qt库对应版本的Qt Linux开发环境
国内地址下载:https://mirrors.ustc.edu.cn/qtproject/archive/qt/5.12/5.12.9/
- 在Linux上安装Qt开发环境
(3)Qt工程编译提示找不到GL库解决
很多Linux发行版本,Qt安装完成后如果直接编译或者运行项目,会出现“cannot find -lGL”错误,这是因
为Qt找不到OpenGL的动态链接库(libGL.so)造成的。这种情况只要在/usr/lib/目录下为libGL.so创建
一个链接就能解决问题。
查找 libGL 所在位置
linux@ubuntu:~$ locate libGL
/home/linux/other/iot-smart-car/fs/rootfs-qt/usr/lib/libGL.so.1
/home/linux/other/iot-smart-car/fs/rootfs-qt/usr/lib/libGL.so.1.2.0
/home/linux/other/iot-smart-car/fs/rootfs-qt/usr/lib/libGLESv1_CM.so.1
/home/linux/other/iot-smart-car/fs/rootfs-qt/usr/lib/libGLESv1_CM.so.1.1.0
/home/linux/other/iot-smart-car/fs/rootfs-qt/usr/lib/libGLESv2.la
/home/linux/other/iot-smart-car/fs/rootfs-qt/usr/lib/libGLESv2.so
/home/linux/other/iot-smart-car/fs/rootfs-qt/usr/lib/libGLESv2.so.2
/home/linux/other/iot-smart-car/fs/rootfs-qt/usr/lib/libGLESv2.so.2.0.0
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGL.so
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGL.so.1
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.0.0
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLESv2.so
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLX.so
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLX.so.0
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLdispatch.so
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
/snap/gnome-3-34-1804/72/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGL.so
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGL.so.1
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.0.0
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLESv2.so
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLX.so
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLX.so.0
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLdispatch.so
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
/snap/gnome-3-34-1804/77/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGL.so
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGL.so.1
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.2.0
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLESv2.so
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.1.0
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLX.so
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLX.so.0
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLdispatch.so
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
/snap/gnome-3-38-2004/119/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGL.so
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGL.so.1
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.2.0
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLESv2.so
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.1.0
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLX.so
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLX.so.0
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/liGLX mesa.so.0
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLdispatch.so
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
/snap/gnome-3-38-2004/70/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGL.so
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGL.so.1
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.2.0
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLESv2.so
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.1.0
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLU.so
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLU.so.1
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLX.so
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLX.so.0
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLdispatch.so
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
/snap/gnome-42-2204/56/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGL.so
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGL.so.1
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLESv1_CM.so.1.2.0
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLESv2.so
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.1.0
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLU.so
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLU.so.1
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLX.so
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLX.so.0
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLdispatch.so
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
/snap/gnome-42-2204/65/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
/usr/lib/x86_64-linux-gnu/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/libGLESv2.so.2.0.0
/usr/lib/x86_64-linux-gnu/libGLU.so.1
/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
/usr/lib/x86_64-linux-gnu/libGLX.so.0
/usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0
/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0
/usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
/usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
/usr/share/code-insiders/libGLESv2.so
在/usr/lib/目录下为libGL.so创建一个链接,Linux系统中可能存在多个版本的libGL.so,为任意一个版本
创建链接即可(假设上一步查找到的libGL版本的所在路径为/usr/lib64/libGL.so.1)
linux@ubuntu:~$ sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/libGL.so
- 交叉编译Qt工程
或者
Make
消除抖动
放开注释
值设为200
3.交叉开发环境搭建
(1)配置qmake
(2)配置编译器
(3)配置Kits
(4)新建工程的时候,选择ARM平台开发包