Ubuntu虚拟机libqt5webenginecore.so: .dynsym local symbol at index报错解决

一. 问题发现

之前在Windows系统下实现了qt的GPS调用界面,因为需要在开发板上运行qt程序,故打算先在Ubuntu虚拟机上进行调试,没问题之后再下载到开发板运行。

得益于qt跨平台的特性(之前也用java写过android感觉qt这点确实顶),我们可以将Windows环境下的qt工程移植到Ubuntu系统下,只是需要修改一些配置。

首先肯定是Ubuntu虚拟机环境搭建,然后安装qt,这里就省略了奥,咱们直入主题。

我把Windows下的工程目录copy到Ubuntu之后先试着运行了一下,果不其然有报错:

好几十行报错的大礼。。。。。。

但是仔细一看发现都是指向了webengine这玩意,回想起之前在Windows下开发qt也是因为webengine遭老罪了,于是查到了不同Linux系统的解决办法

二. 解决方法

(1)对于Ubuntu系统

https://www.cnblogs.com/feipeng8848/p/17645125.html

在.pro工程下加入

CONFIG += use_gold_linker
LIBS += -ldl

(2)对于Centos系统

https://blog.youkuaiyun.com/wyj372/article/details/126646750

sudo apt-get install lld

并将“ CONFIG +=use_lld_linker”添加到 .pro 文件中

三. 原因分析

其实观察以上两种方法都有相同之处,都是与lld动态库有关,笔者推测可能是因为webengine用到了某些ddl动态库但是在copy工程的时候并没有一起copy过去,所以在新的虚拟机环境下需要重新配置一下。

因为笔者对qt涉猎不深,以上原因分析只是推测,如果有大佬知其所以然欢迎评论区补充交流~

/home/cwkj/QGC4.2.4/qgroundcontrol/src/VideoReceiver/gstqgcvideosinkbin.c:314: warning: cast between incompatible function types from ‘void (*)(GstQgcVideoSinkBinClass *)’ {aka ‘void (*)(struct _GstQgcVideoSinkBinClass *)’} to ‘void (*)(void *, void *)’ [-Wcast-function-type] /home/cwkj/QGC4.2.4/qgroundcontrol/src/VideoReceiver/gstqgcvideosinkbin.c: In function ‘_vsb_get_type’: /home/cwkj/QGC4.2.4/qgroundcontrol/src/VideoReceiver/gstqgcvideosinkbin.c:314:13: warning: cast between incompatible function types from ‘void (*)(GstQgcVideoSinkBinClass *)’ {aka ‘void (*)(struct _GstQgcVideoSinkBinClass *)’} to ‘void (*)(void *, void *)’ [-Wcast-function-type] 314 | (GClassInitFunc)_vsb_class_init, | ^ /home/cwkj/QGC4.2.4/qgroundcontrol/src/VideoReceiver/gstqgcvideosinkbin.c:319: warning: cast between incompatible function types from ‘void (*)(GstQgcVideoSinkBin *)’ {aka ‘void (*)(struct _GstQgcVideoSinkBin *)’} to ‘void (*)(GTypeInstance *, void *)’ {aka ‘void (*)(struct _GTypeInstance *, void *)’} [-Wcast-function-type] /home/cwkj/QGC4.2.4/qgroundcontrol/src/VideoReceiver/gstqgcvideosinkbin.c:319:13: warning: cast between incompatible function types from ‘void (*)(GstQgcVideoSinkBin *)’ {aka ‘void (*)(struct _GstQgcVideoSinkBin *)’} to ‘void (*)(GTypeInstance *, void *)’ {aka ‘void (*)(struct _GTypeInstance *, void *)’} [-Wcast-function-type] 319 | (GInstanceInitFunc)_vsb_init, | ^ :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 3 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 4 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 5 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 6 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 7 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 8 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 9 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 10 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 11 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 12 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 13 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 14 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 15 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 16 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 17 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 18 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 19 (>= sh_info of 3) :-1: error: /home/cwkj/Qt/5.15.2/gcc_64/lib/libQt5WebEngineCore.so: .dynsym local symbol at index 20 (>= sh_info of 3) :-1: error: [Makefile:2625: staging/QGroundControl] Error 127
07-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值