linux qt设置 命令,linux – 在QMake中设置RPATH命令

2023-11-19

我有一个

Linux Qt程序.我希望它优先使用可执行文件目录中的(动态)Qt库(如果存在),否则使用系统的Qt库. RPATH来救援.

我将此行添加到qmake的.pro文件中:

QMAKE_LFLAGS += '-Wl,-rpath,\'\$$ORIGIN\''

用readelf查看生成的可执行文件,我看到:

0x000000000000000f (RPATH) Library rpath: [$ORIGIN:/usr/local/Trolltech/Qt-5.2.0/lib]

0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN:/usr/local/Trolltech/Qt-5.2.0/lib]

似乎没错,但是ldd显示它正在使用系统版本:

libQt5Core.so.5 => /usr/local/Trolltech/Qt-5.2.0/lib/libQt5Core.so.5 (0x00007f2d2fe09000)

如果我手动编辑qmake生成的Makefile来交换两个rpath的顺序,那么$ORIGIN出现在/usr/local / …之后,我得到了正确的行为:

0x000000000000000f (RPATH) Library rpath: [/usr/local/Trolltech/Qt-5.2.0/lib:$ORIGIN]

0x000000000000001d (RUNPATH) Library runpath: [/usr/local/Trolltech/Qt-5.2.0/lib:$ORIGIN]

libQt5Core.so.5 => ./libQt5Core.so.5 (0x00007fb92aba9000)

我的问题是qmake如何构造最终的LFLAGS变量.我无法弄清楚如何在系统库之后添加($ORIGIN).有任何想法吗?

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

linux qt设置 命令,linux – 在QMake中设置RPATH命令 的相关文章

随机推荐

  • PE文件结构详解精华(从头看下去就能大概了解PE文件结构了)

    前言 本博客系统讲解了PE文件结构 PE文件结构其实不复杂 但内容较多 希望朋友们能 沉心静气做学问 目录 前言 1 PE文件及其表现形式 span span 2 PE文件格式与恶意软件的关系 span span 3 PE文件格式的总体结构
  • .gitignore不生效问题

    问题 在使用git进行版本控制的过程中发现 将想被忽略的文件 文件夹 配置到 gitignore文件中后 实际修改了想被忽略的文件 调用git status查看时 仍然会提示提交这些文件 也就是说实际并没有被忽略 原因 原因是git ign
  • dxva2+ffmpeg硬件解码(Windows)重要笔记2

    参考了csdn上Win32Project1 ffmpeg dxva2这个例子 很不错 直接就可以运行 但是 有几个问题 1 窗口无法正常缩放 缩放后 图像大小并没有一起缩放 2 H265的编码格式 显示下面有一块绿色 3 无法从显卡获取YU
  • Python(符号计算常微分方程)谐振子牛顿运动方程

    牛顿运动方程 牛顿运动方程可以写成以下形式 F d p d t
  • 图像jpg转.bgr二进制文件_海思开发

    作者 昌山小屋 来源 CSDN 原文 https blog csdn net ChuiGeDaQiQiu article details 84945901 版权声明 本文为博主原创文章 转载请附上博文链接 参考为毛我要干这件事 把一张jpg
  • R语言练习题答案(9)第六章高级绘图实例代码

    关注公众号凡花花的小窝 含有更多更全面的计算机专业编程考研相关知识的文章还有资料 代码 6 1 散点图 library lattice xyplot wt 3 5407 mpg data mtcars ylab Weight xlab Ki
  • 计算机仿真应用于诊断什么故障,基于MATLAB/Simulink的机械故障诊断研究

    摘要 机械故障诊断技术能够提供高质量的监控系统 提升管理效率 降低维护成本 通过MATLAB Simulink仿真技术可以简洁地将故障诊断的结果图像化表达出来 提高故障诊断的质量和效率 该文模拟了机械故障诊断的全过程 充分发挥技术融合的优势
  • 【路由交换实验】生成树STP(stp,rstp,mstp)

    理论 冗余的重要性 叫做MAC地址表的震荡 为了增加网络的可靠性 有必要引入双链路的备份 但是引入冗余链路以后 网络里面又产生了环路 产生一系列广播风暴的问题 可以使用STP生成树协议来解决这个问题 生成树协议可以在提高可靠性的同时 又能避
  • python下载后安装包在哪里找到_python安装包里idle在哪

    进入python安装目录 比如python安装在d盘 你只要进到下面这个文件夹去 D Program Files Python33 Lib idlelib idle bat运行即可 至于出现一个黑色的空白cmd命令提示符窗口的解决方法只要用
  • IDEA社区版下载安装

    一 下载网址 https www jetbrains com idea download 这里以安装社区版免费版为例 二 点击下载好的安装文件 点击 Next 建议更改下路径 点击 Next 点击 Next 可点击创建快捷方式 其他默认就好
  • matlab实现遗传算法——以Ras函数为例( 初学子 友好子 )

    遗传算法 演化思想 遗传算法的本质 遗传算法的本质 模拟生物演化 具体来说 模拟对象是生物演化中的种种自然现象 如变异 交叉互换 交配 淘汰 因此 一个优秀的遗传算法首先应该做到生物演化的模拟 但是并非仅仅对生物演化进行简单复现 生物演化中
  • Mybatis plus 数据加密

    数据加密重中之重个铁铁 先准备加解密工具类 package com byyl web utils import org springframework util Base64Utils import javax crypto Cipher
  • 【密码学】破解维吉尼亚密码(C++代码实现)

    问题简述 维吉尼亚密码是使用一系列凯撒密码组成密码字母表的加密算法 属于多表密码的一种简单形式 在一个凯撒密码中 字母表中的每一字母都会作一定的偏移 例如偏移量为3时 A就转换为了D B转换为了E 而维吉尼亚密码则是由一些偏移量不同的凯撒密
  • unix环境高级编程第三版源代码编译及使用

    估计好多学习unix linux的程序员都知道有这么一本书 最近笔者也开始膜拜膜拜此书 在编译源代码的时候 遇到了一些问题 现在在这里做下总结 加深自己的印象 或许也有遇到此问题的同仁 可以参考参考 先强调一下 笔者的开发环境是centos
  • 单细胞测序数据的降维方法和细胞亚型鉴定聚类方法

    单细胞测序数据的降维方法和细胞亚型鉴定聚类方法是单细胞转录组分析中常用的技术 下面是对这些方法的总结 1 降维方法 主成分分析 PCA PCA是一种常用的降维方法 通过线性变换将高维数据转化为低维表示 保留最大的方差 t SNE t SNE
  • Nginx一键自动化部署安装shell脚本

    bin bash 安装Nginx相关依赖 yum install y gcc make wget zlib devel openssl devel pcre devel 下载Nginx源码 wget http nginx org downl
  • Android中字体使用的单位是,Android中设置TextView字体大小时的单位问题

    项目开发中使用如下代码动态设置TextView字体大小 发现设置的字体和预期差别很大 errText setTextSize context getResources getDimensionPixelSize R dimen lost t
  • HTTP文件断点续传原理解析(源码)

    生活中 有许多事物 在没有被揭开面纱之前 我们往往会觉得很神秘很高深 认为它一定很难 进而望而却步 失去了解它的机会 然而 很多事 只要我们自己能沉下心来 细细研究 那些神秘高深的 也会变得简单明了 HTTP文件断点续传 就是这样一个好例子
  • pyltp包下载及使用

    pyltp包下载 1 下载wheel whl下载地址 windows下python3 5 windows下python3 6 下载好了以后 在命令行下 cd到wheel文件所在的目录 然后使用命令 pip install 文件名 whl安装
  • linux qt设置 命令,linux – 在QMake中设置RPATH命令

    我有一个 Linux Qt程序 我希望它优先使用可执行文件目录中的 动态 Qt库 如果存在 否则使用系统的Qt库 RPATH来救援 我将此行添加到qmake的 pro文件中 QMAKE LFLAGS Wl rpath ORIGIN 用rea