你好,我在A311D上的最新固件ubuntu系统上通过 命令行方式安装QT库和QTCREATOR:sudo apt-get install qt5-default qtcreator。安装完成后,打开qtcreator,出现如下问题:
/usr/lib/aarch64-linux-gnu/qtcreator/plugins/libCtfVisualizer.so: 无法加载库/usr/lib/aarch64-linux-gnu/qtcreator/plugins/libCtfVisualizer.so:(/usr/lib/aarch64-linux-gnu/libQt5Quick.so.5: undefined symbol: _ZN20QOpenGLFunctions_1_014versionProfileEv, version Qt_5)
/usr/lib/aarch64-linux-gnu/qtcreator/plugins/libPerfProfiler.so: 无法加载库/usr/lib/aarch64-linux-gnu/qtcreator/plugins/libPerfProfiler.so:(/usr/lib/aarch64-linux-gnu/libQt5Quick.so.5: undefined symbol: _ZN20QOpenGLFunctions_1_014versionProfileEv, version Qt_5)
/usr/lib/aarch64-linux-gnu/qtcreator/plugins/libQmlDesigner.so: 无法加载库/usr/lib/aarch64-linux-gnu/qtcreator/plugins/libQmlDesigner.so:(/usr/lib/aarch64-linux-gnu/libQt5Quick.so.5: undefined symbol: _ZN20QOpenGLFunctions_1_014versionProfileEv, version Qt_5)
/usr/lib/aarch64-linux-gnu/qtcreator/plugins/libQmlProfiler.so: 无法加载库/usr/lib/aarch64-linux-gnu/qtcreator/plugins/libQmlProfiler.so:(/usr/lib/aarch64-linux-gnu/libQt5Quick.so.5: undefined symbol: _ZN20QOpenGLFunctions_1_014versionProfileEv, version Qt_5)
请问为什么这些动态库加载不了?
numbqq
#2
因为我们这边重新编译了qtbase的软件包,增加了gpu eglfs fbdev支持,就是说增加了gpu加速,但是有个限制,由于gpu只支持fbdev,不支持X11界面,而原生的qtcreater是基于X11 gpu驱动编译的,所以会报一些OpenGL的库找不到的问题,但实际上是没有使用这些库的,我试过在qtcreater上编译了一个UI的hello world,是可以正常跑起来的,你那边的应用是不能编译还是什么?
现在有两个选择:
1、完全使用ubuntu官方的QT包,不支持gpu加速,完全用cpu进行渲染,可以正常使用qtcreater,但是都是cpu来处理的,所以非常耗资源。
2、使用重新编译的qt包,支持gpu eglfs fbdev,在Framebuffer模式下支持gpu硬件加速,但是qtcreater会报一些关于OpenGL库的问题。
可以编译,但是只要打开源码,会在源码中提示很多没有定义,但是实际上是没有问题的。看了你的解释,貌似这种现象是正常存在?
为了使Qtcreator编辑和编译源码正常化,能不能优化优化呢?
numbqq
#5
之所以报错是因为原始qtcreater是基于OpenGL编译的,而我们VIM3 GPU是不支持OpenGL的,只支持OpenGL ES,如果这些报错不影响你的应用编译和运行的话,可以先不管,因为报错的这些库你也用不到。要解决这个问题可能需要全部重新编译qtcreater相关的软件包,但是依赖太多了,目前可能暂时不会做。
numbqq
#6
在提供一种方法,就是上面所说的第一点,完全使用ubuntu官方的软件包,这样的话QT就不会报错了。但是没有GPU加速。
操作方法如下:
1、重新烧录最新固件:https://dl.khadas.com/Firmware/VIM3/Ubuntu/EMMC/VIM3_Ubuntu-gnome-focal_Linux-4.9_arm64_EMMC_V1.0.6-210520.img.xz
2、登陆系统后,先禁止掉khadas的源
$ sudo mv /etc/apt/sources.list.d/fenix.list /etc/apt/sources.list.d/fenix.list.backup
3、在安装qt相关软件
$ sudo apt update
$ sudo apt-get install qt5-default qtcreator
好的,谢谢!但是一般跑程序和Qtcreator编译源码好像都不需要GPU加速吧?
numbqq
#8
编译不需要,运行的话看你的需求了,你如果只想在cpu上跑当然是没问题的。
禁止掉源,那么就意味着软件和系统升级不了。直接界面配置超频也就没有了。能不能有折中的办法?我的意思是当前ubuntu系统去掉GPU加速就行,其他都一样,有没有这样的ubuntu固件呢?你提供的固件好像做不到。