尝试运行 Qt 应用程序时 LD_LIBRARY_PATH 失败

2023-12-02

我想在 Linux 上使用动态库运行基于 Qt 5 的应用程序。总之,脚本将复制可执行文件和其他相关文件,包括 a 中所有必需的 .solib文件夹,到所需的目的地和脚本调用gksudo将作为应用程序的调用者。

到目前为止,一切正常,直到我调用可执行脚本:应用程序无法运行。当我要求一起跑步时sudo,它告诉我缺少一个库(Qt5SerialPort...)。跑步ldd在实际的可执行文件中,我发现该应用程序正在获取所需的库,而不是从lib文件夹,但有一些明显的硬编码路径。

我试图通过使用来解决这个问题qt.conf但没有成功。如注here, 看上去qt.conf实际上不应该这样工作。咨询Qt 文档,我决定使用LD_LIBRARY_PATH告诉链接器在哪里可以找到库,因为我已经使用脚本来运行应用程序了。所以最终总结的脚本代码是

#!/bin/sh
LD_LIBRARY_PATH=lib/
export LD_LIBRARY_PATH
sudo ldconfig #sometimes  sudo /sbin/ldconfig -v
gksudo "$INSPATH/myApp" #or sudo instead

问题是它仍然不起作用。当我打电话时echo $LD_LIBRARY_PATH,我可以看到变量已正确编辑,但是当我调用运行行(使用 sudo)时,它一直告诉我找不到 lib。

我缺少什么?


sudo没有通过LD_LIBRARY_PATH:

$ LD_LIBRARY_PATH=lib/
$ export LD_LIBRARY_PATH
$ env | grep LD_LIBRARY_PATH
LD_LIBRARY_PATH=lib/
$ sudo env | grep LD_LIBRARY_PATH

您可以将其设置为以 root 身份运行的命令:

$ sudo env LD_LIBRARY_PATH=/lib env | grep LD_LIBRARY_PATH
SUDO_COMMAND=/usr/bin/env LD_LIBRARY_PATH=/lib env
LD_LIBRARY_PATH=/lib

你会想要类似的东西

sudo env LD_LIBRARY_PATH=/lib "$INSPATH/myApp"

一如既往,要小心sudo!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试运行 Qt 应用程序时 LD_LIBRARY_PATH 失败 的相关文章

  • linux-x64 二进制文件无法在 linuxmusl-x64 平台上使用错误

    我正在安装Sharp用于使用 package json 的 Nodejs 项目的 docker 映像上的映像压缩包 当我创建容器时 我收到有关 Sharp 包的以下错误 app node modules sharp lib libvips
  • 如何在 Ubuntu 中创建公共 HTML 文件夹?

    简单的问题 但由于某种原因我无法在谷歌上找到确切的答案 我在 Slicehost 上安装了全新的 Ubuntu 并且想在我的主目录中为包含一堆静态 HTML 文件的简单网站创建一个公共目录 我该怎么做呢 只是打字的问题吗mkdir publ
  • 使用非规范地址检索内存数据会导致 SIGSEGV 而不是 SIGBUS

    我无法使用以下汇编代码产生 总线错误 这里我使用的内存地址不是合法的 规范地址 那么 我怎样才能触发该错误呢 我在带有 NASM 2 14 02 的 Ubuntu 20 04 LTS 下运行这段代码 但它会导致负载出现 SIGSEGV 分段
  • 如何根据标签将单个 XML 文件拆分为多个

    我有一个带有标签的 XML 文件 我想像这样分割文件
  • 添加文件时运行 shell 命令

    我的 Linux 机器上有一个名为 images 的文件夹 该文件夹连接到一个网站 该网站的管理员可以向该网站添加图片 但是 当添加图片时 我想要一个命令来运行调整目录中所有图片的大小 简而言之 我想知道当新文件添加到特定位置时如何使服务器
  • Qt 相当于 .NET 数据绑定吗?

    Qt 中是否有相当于 NET 数据绑定的功能 我想使用引用数据库中特定实体的 QString 填充一些组合框和其他小部件 但是 如果我可以将数据绑定到这些字符串 而不是基于新的组合框选择再次查询数据库 或者基于构建我自己的将使用 QStri
  • QByteArray 到整数

    正如您可能从标题中看出的那样 我在转换QByteArray为一个整数 QByteArray buffer server gt read 8192 QByteArray q size buffer mid 0 2 int size q siz
  • 为什么opencv videowriter这么慢?

    你好 stackoverflow 社区 我有一个棘手的问题 我需要你的帮助来了解这里发生了什么 我的程序从视频采集卡 Blackmagic 捕获帧 到目前为止 它工作得很好 同时我用 opencv cv imshow 显示捕获的图像 它也工
  • 如何为 Windows 安装开源 Qt 库 5 二进制版本

    这个问题具体是关于Qt libraries 5 0 0 for Windows VS 2010 406 MB at http qt project org downloads http qt project org downloads 但我
  • QML MouseArea 将事件传播到按钮

    我正在开发一个应用程序 其菜单类似于 Android 版 Gmail 收件箱应用程序菜单 基本上 当您按下按钮打开菜单时 它就会滑入视图 用户可以将其滑开或按菜单上的按钮 对于滑动我使用了代码SwipeArea from kovrov ht
  • 如何查找哪个 Yocto 项目配方填充图像根文件系统上的特定文件

    我经常与 Yocto 项目合作 一个常见的挑战是确定文件为何 或来自什么配方 包含在 rootfs 中 这有望从构建系统的环境 日志和元数据中得出 理想情况下 一组命令将允许将文件链接回源 即配方 我通常的策略是对元数据执行搜索 例如gre
  • 使用 gdb 调试 Linux 内核模块

    我想知道 API 在内核模块 中返回什么 从几种形式可以知道 这并不是那么简单 我们需要加载符号表来调试内核模块 所以我所做的就是 1 尝试找到内核模块的 text bss和 data段地址 2 在 gdb 中使用 add symbol f
  • Qt 5.3 QPlainTextEdit 更改 QTextCursor 颜色

    我想更改下面的光标颜色QPlainTextEdit小部件 我能够将其宽度设置为6 但我想改变颜色或者它 是否可以 QFontMetrics fm font setCursorWidth fm averageCharWidth setCurs
  • QWebEngineView 在 load() 或 page() 方法上崩溃

    我正在致力于将 Qt 5 5 QWebView 项目移植到 Qt 5 6 测试版 QWebEngine 我已经阅读了移植指南here https wiki qt io Porting from QtWebKit to QtWebEngine
  • 这种文件锁定方法可以接受吗?

    我们有 10 个 Linux 机器 每周必须运行 100 个不同的任务 这些计算机主要在我们晚上在家时执行这些任务 我的一位同事正在开发一个项目 通过使用 Python 自动启动任务来优化运行时间 他的程序将读取任务列表 抓取一个打开的任务
  • 使用os.execlp时,为什么`python`需要`python`作为argv[0]

    代码是这样的 os execlp python python child py other args this works os execlp python child py other args this doesn t work 我读过
  • 为什么同一个curl命令在windows和linux下输出不同的东西?

    为什么同样的curl o file https www link com 命令输出不同的东西 例如 如果我运行命令curl o source txt https www youtube com playlist list PLIx6Fwnp
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • ansible unarchive 模块如何查找 tar 二进制文件?

    我正在尝试执行一个 ansible 剧本 该剧本的任务是利用unarchive模块 因为我是在 OSX 上执行此操作 所以我需要使用它gnu tar 而不是bsd tar通常与 OSX 一起提供 因为BSD tar 不受官方支持 https
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • Tomcat servlet-api.jar问题

    我正在使用 Tomcat 和 Java Servlet JSP 等运行 Web 应用程序 我知道为了使用Servlet 它依赖于Servlet api jar 文件 最初我把这个jar文件放在 WEB INF lib directory 在
  • 如何在 C# 中从字节数组生成哈希码?

    假设我有一个存储字节数组的对象 并且我希望能够有效地为其生成哈希码 我过去曾为此使用过加密哈希函数 因为它们很容易实现 但它们所做的工作比加密单方面应做的工作要多得多 而且我不关心这一点 我只是使用哈希码作为哈希表的键 这是我今天的内容 s
  • 如何在 SQL Server 表中保存回历日期?什么类型的柱?

    如何在 Microsoft SQL Server 表中保存回历日期 0000 01 01 9999 01 01 什么类型的柱 我选择datetime2 这样对吗 CREATE TABLE dbo MyDates ID int IDENTIT
  • 错误:在 Alpine Docker 映像上安装 PostGIS 时出现无法满足的约束

    好的 所以任务看起来很简单 使用Alpine图像 因为它是轻量级且安全的 来执行一些PostgreSQL数据库创建 迁移 我正在使用以下内容Dockerfile使用代码here FROM alpine latest RUN apk add
  • 高斯过程回归增量学习

    我正在使用高斯过程回归的 scikit learn 实现here我想拟合单个点而不是拟合整组点 但所得的 alpha 系数应保持不变 例如 gpr2 GaussianProcessRegressor for i in range x sha
  • 可以通过 Chrome 扩展程序修改窗口对象吗? [复制]

    这个问题在这里已经有答案了 我想做一个 Chrome 扩展 在里面提供一个新对象window 当在加载了扩展程序的浏览器中查看网页时 我想window mything可通过 Javascript 使用 这window mything对象将具
  • WPF TreeView HierarchicalDataTemplate - 绑定到具有不同子集合的对象

    我正在尝试将集合绑定到 wpfTreeView使用数据模板进行控制 集合中的每个项目 人 还包含两个不同的集合 汽车 书籍 类型为汽车和书籍 以下是所涉及对象的简化列表 以节省空间 public class Person public st
  • 将参数从 Cloud 函数传递到 Dataflow

    我想将 Google Cloud Storage 上上传的文件的文件名从 Cloud Functions 传递到 Dataflow 以便我可以处理上传的文件 我为云函数编写的代码是 const google require googleap
  • NavigationView 获取/查找标题布局

    在我的 NavigationView 中 我有一个带有 id viewId 和活动按钮的标题布局 要设置这些按钮 我在活动中执行以下操作onPostCreate final View panel findViewById R id view
  • ndarray.resize:为 refcheck 参数传递正确的值

    和许多其他人一样 我的情况是我有一个类收集大量数据 并提供一种方法将数据作为 numpy 数组返回 即使在返回数组之后 其他数据也可以继续流入 由于创建数组是一项昂贵的操作 因此我只想在必要时创建它 并尽可能高效地完成它 具体来说 在可能的
  • YARN 应用程序日志在发送到 S3 之前存储在 EMR 中的何处

    我需要将 Yarn 应用程序日志从 EMR 写入 S3 以外的其他源 您能否告诉我应用程序日志在 EMR 主实例中保存在哪里 如果申请作为一个步骤提交给 emr 那么日志将驻留在 var log hadoop steps lt
  • Angular 5将动态html文件添加到DIV中

    我对 Angular 很陌生 我正在尝试将 html 文件作为我的字符串插入并插入到 DIV 元素中 我有我的search component html called div div 组件 ts import Component from
  • Ionic Cordova 构建始终使用 androidx.appcompat:appcompatn 的最新版本并且失败

    我正在运行 ionic cordova build android 并失败 经过两天的研究 尝试了几种方法 终于找到了问题所在 但找不到解决办法 我使用cordova平台10 1 0 它生成像这样的project properties ta
  • 使用 CoreNFC 检测 ISO/IEC 14443(Mifare Ultralight 或 Classic)NFC 卡

    所以我在 WWDC 上能够使用以下代码检测 Apple Labs 提供的 NFC 卡 nfcSession NFCNDEFReaderSession delegate self queue nil invalidateAfterFirstR
  • Eclipse、PyDev 和 Python 配置错误

    我决定尝试使用 Eclipse 和 PyDev 而不是 IDLE 我成功 安装 了 Eclipse SDK 3 7 之后 我按照 PyDev 网站上显示的步骤成功安装了该插件 但是 当尝试配置我的解释器 Python 3 2 3 时 我总是
  • 如何在厨师中运行具有依赖项的食谱?

    我已经配置了工作站这一步开始使用 操作系统 redhat 6 5 我已经启动了一个节点 我这样修改了一本食谱 myCookbook metadata rb name myCookbook maintainer YOUR COMPANY NA
  • 根据条件和分组更新列

    我的数据是 Prod Vend Capac Dema Price p1 v2 2 6 1 p1 v1 3 6 2 p1 v3 3 6 2 p2 v1 1 1 1 p2 v3 2 1 2 p2 v2 5 1 2 p3 v1 5 3 3 p3
  • getSystemService(Context.AUDIO_SERVICE) 上的异常

    我想创建一个应用程序 根据某些设置来挂断来电 这在 Android 1 6 上似乎是不可能的 因此 我决定编写一个应用程序 在通话中断时将铃声更改为静音 问题是 当我调用 getSystemService Context AUDIO SER
  • 旋转多部分对象

    我创建了一个对象 它有大约 7 个以上的部分 包括它的主体和在不同位置 附着 到它的较小部分 我的目标是旋转整个对象 我试着简单地打电话glRotatef angle 0 1 0 在构造整个对象之前 但我意识到这似乎围绕原点旋转 一切 无论
  • 尝试运行 Qt 应用程序时 LD_LIBRARY_PATH 失败

    我想在 Linux 上使用动态库运行基于 Qt 5 的应用程序 总之 脚本将复制可执行文件和其他相关文件 包括 a 中所有必需的 solib文件夹 到所需的目的地和脚本调用gksudo将作为应用程序的调用者 到目前为止 一切正常 直到我调用