当前位置: 首页 > news >正文

六节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

  1. 进行配置

qt-everywhere-src-5.12.9$ chmod 777 config.sh

qt-everywhere-src-5.12.9$ ./config.sh

  1. 编译

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/

  1. 添加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/

  1. 在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

  1. 交叉编译Qt工程

或者

Make

消除抖动

放开注释

值设为200

3.交叉开发环境搭建

(1)配置qmake

(2)配置编译器

(3)配置Kits

(4)新建工程的时候,选择ARM平台开发包

http://www.dtcms.com/a/415213.html

相关文章:

  • 做动漫图片的网站seo推广费用
  • 设计模式与原则精要
  • asp网站怎么做301定向系统商店
  • 大连html5网站建设价格泉州快速建站模板
  • LeetCode:64.搜索二维矩阵
  • 特殊矩阵的压缩存储
  • Qwen3-Omni多模态prompt输入解析
  • CVPR-2025 | 具身导航指令高效生成!MAPInstructor:基于场景图的导航指令生成Prompt调整策略
  • PRP (Product Requirement Prompts) - AI辅助开发提示词库
  • 昆明网站seo多少钱金舵设计园在线设计平台
  • AI识图 + MinIO图床 + 钉钉推送:打造全自动水质监测系统
  • EIGRP
  • 旅游电子商务网站开发方案网站运营数据周报表怎么做
  • 计算机视觉:人脸关键点定位与轮廓绘制
  • 手机网站建设基本流程专业的集团网站开发开发
  • Spring AI Alibaba:Java生态下的智能体开发全栈解决方案
  • 这么做网站网站三合一
  • Kurt-Blender零基础教程:第3章:材质篇——第3节:给模型上材质
  • Unity-导航寻路系统
  • 辽宁网站建设学校赣州建设局网站
  • 高功耗显卡兼容性难题全解析
  • Linux进程地址空间初谈
  • SPI(Serial Peripheral Interface)面试题汇总
  • 佛山网站建设永网廊坊网站群发关键词
  • php网站支付宝接口百度推广天津总代理
  • LNMP环境配置指南(Linux, Nginx, MySQL, PHP)
  • Apache Superset 企业级实战:从部署到优化的全链路指南
  • 【从零构建LLM】第一章,embeddbing构建思路总结
  • 青岛网站建设公司正不拦截网站的浏览器
  • 在不插网线的情况下实现宿主机和VMware虚拟机的双向通信(如使用vscode通过ssh进行远程开发)