ubuntu下Qt使用webenginewidgets模块的错误 - Go语言中文社区

ubuntu下Qt使用webenginewidgets模块的错误


webenginewidgets的简单使用

用Qt自带 QtCreator 在 .pro文件中加入

QT += webenginewidgets

然后在 代码中包含头文件

#include <QWebEngineView>

加入如下代码

ui->setupUi(this);
QWebEngineView *webView = new QWebEngineView(this);
webView->load(QUrl(“http://www.baidu.com”));
webView->show();
将上面的程序进行打包,打包后出现下面的错误
在这里插入图片描述

报了一个库的文件找不到。百度了一番,找到在打开软件前先添加一个临时的环境变量

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libnss3.so

这里可以看一下关于LD_PRELOAD的介绍

LD_PRELOAD是Linux系统的一个环境变量,它可以影响程序的运行时的链接(Runtime linker),它允许你定义在程序运行前优先加载的动态链接库。这个功能主要就是用来有选择性的载入不同动态链接库中的相同函数。通过这个环境变量,我们可以在主程序和其动态链接库的中间加载别的动态链接库,甚至覆盖正常的函数库。一方面,我们可以以此功能来使用自己的或是更好的函数(无需别人的源码),而另一方面,我们也可以以向别人的程序注入程序,从而达到特定的目的

这样有出现了一个问题,如果每次开机打开程序都需要设置环境变量太麻烦了。
还有一种方法的将打包程序中的.desktop的文件中将Exec改成当前程序的.appimage

Exec=env LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libnss3.so /home/se/stdesfmio.appimage

上面的办法我将/usr/share/applications/ 目录下的图标文件也更成类似的,但是显示启动失败。这样我暂时只能做了一个脚本进行启动

#!/bin/bash
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libnss3.so
./stdesfmio.appimage

那位大佬有很好的解决方法了,望不吝赐教。
以上及对自己的错误做个记录,以便以后查看

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/sqlxby/article/details/115190280
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2023-01-03 18:45:57
  • 阅读 ( 559 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢