qt打包和设置指定程序运行指定依赖库路径

2023-05-16

设置指定程序运行依赖库路径

在工程的.pro文件的最后增加如下配置:
QMAKE_RPATHDIR = ../lib \
../lib64

注意:../lib 和 ../lib64 相对路径是可执行程序在部署环境运行是依赖的库文件的路劲,跟编译没有关系。

转自:https://blog.csdn.net/u013992330/article/details/107940925

qt打包方法:

一、准备一个脚本

       ldd.sh脚本

二、打包过程

  • 1.添加程序依赖库
  • 2.添加 Qt 相关依赖库

 

  • ldd.sh脚本

 

#!/bin/bash
LibDir=$PWD"/lib"
Target=$1
lib_array=($(ldd $Target | grep -o "/.*" | grep -o "/.*/[^[:space:]]*"))
$(mkdir $LibDir)
for Variable in ${lib_array[@]}
do
    cp "$Variable" $LibDir
done

打包过程

打包过程分为:添加程序依赖库和Qt依赖库。

  1. 添加程序依赖库

(1)新建一个空的文件夹,用于存放程序及其动态库。例如“ExportToExcel文件夹”;

(2)将ldd.sh脚本复制到编译目录,如“build-hubeihdbtoexcel-Desktop_Qt_5_5_1_GCC_32bit-Release”;

(3)执行“./ldd.sh hubeihdbtoexcel”,会在当前目录生成lib文件夹。其中存放着运行hubeihdbtoexcel所依赖的库文件;

(4)将lib文件夹中的所有文件复制到第1步新建的文件夹“ExportToExcel文件夹”中。至此,就可以删除生成的lib文件夹和ldd.sh脚本了

2. 添加 Qt 相关依赖库

(1)将ldd.sh脚本复制到Qt5安装目录的platforms文件夹中;

(2)执行“./ldd.sh libqxcb.so”,将生成的lib文件夹中的所有文件拷贝到“ExportToExcel文件夹”中。有些库可能重复,点击“替换”即可。执行完该步骤后就可以删除生成的lib文件夹和ldd.sh脚本了;

(3)返回上一级,将platforms整个文件夹拷贝到“ExportToExcel文件夹”中,层级关系如下图;

(4)该步骤为可选步骤。如果所编写的程序有操作数据库的动作,还需要将与platforms同级目录中的sqldrivers文件夹也拷贝到“ExportToExcel文件夹”中;

(5)最后将hubeihdbtoexcel.sh脚本拷贝到“ExportToExcel文件夹”中即可。然后将整个“ExportToExcel文件夹”压缩就可以在其他机器上解压缩后运行。

三、验证

(1)将压缩包解压;

(2)执行“./hubeihdbtoexcel.sh”,程序正常运行。

转发:

https://zhuanlan.zhihu.com/p/49919048

 

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

qt打包和设置指定程序运行指定依赖库路径 的相关文章

随机推荐

  • rails/ruby字符串与数组之间的转换

    rails ruby字符串与数组之间的转换 初步接触ruby xff0c 点点滴滴记录下来 xff0c 希望能帮助同样是新加入ruby的同学 字符串与数组之间的转换 span class token comment ruby字符串转数组 s
  • this is incompatible with sql_mode=only_full_group_by解决方案

    MySQL查询时报错 xff1a this is incompatible with sql mode 61 only full group by 报错原因分析 xff1a 一 原理层面 这个错误发生在mysql 5 7 5 版本及以上版本
  • macbook安装Redis客户端another-redis-desktop-manager

    macbook安装Redis客户端another redis desktop manager 不讲废话 xff0c 直接上命令 macbook下使用brew安装another redis desktop manager brew insta
  • ruby on rails读取excel文件完整流程

    前端上传excel文件 xff0c 后端读取文件并写入数据库 话不多说 xff0c 直接上代码 代码复制可直接使用 xff0c 经过多次测试验证 Gemfile文件中引入 xff1a gem span class token string
  • vue3 + vite + ts + setup , 第二十一练 vue3 中使用函数式编程,h函数(一)

    之前跟大家介绍了两种vue编写风格分别是template模板方式 xff0c 和JSX方式感觉JSX被大家吐槽的很厉害 xff0c 其实用习惯还挺好用的今天介绍第三种函数式编程 主要会用到h函数 h 函数是一个用于创建 VNode 的实用程
  • 线程安全与实现方法

    线程安全 文章目录 线程安全线程安全的定义线程安全的分类补充 xff1a this引用逃逸什么是this引用逃逸逃逸场景场景一场景二 解决方案 线程安全的实现互斥同步 xff08 阻塞同步 xff09 实现举例 非阻塞同步实现举例 无同步方
  • github api 连接出错的几种情况和解决办法

    网络连接正常 xff0c github也能连接 xff0c 但是idea terminal 将代码push到远端时无法与github获取连接 情况一 使用git pus命令报错 fatal HttpRequestException enco
  • 【Proteus仿真】| 05——问题记录

    系列文章目录 Proteus仿真 01 软件安装 Proteus仿真 02 基础使用 Proteus仿真 03 超详细使用教程 Proteus仿真 04 绘制原理图模板 Proteus仿真 05 问题记录 文章目录 前言1 51单片机仿真2
  • 在Winxp虚拟机上安装Vxworks虚拟机,完成VxWorks_Tornado开发环境搭建

    前言 关于在虚拟机上安装虚拟机的做法并不普遍 xff0c 因为其实用性并不大 xff0c 对于很多人来说 xff0c 并没有必要再虚拟机上安装虚拟机 xff0c 以来这种做法确实很浪费内存资源 xff0c 二来没有具体的实用价值 因为主机装
  • centos7 搭建httpd服务

    查看是否有httpd root 64 Cheney yum list httpd 已加载插件 xff1a fastestmirror langpacks Loading mirror speeds from cached hostfile
  • 邮件系统被退回的原因及解决办法

    邮件为什么会被退回经常上网发送邮件的人可能会有邮件被退回的经历 xff0c 收到被退回的邮件要具体分析 xff0c 退回的信件一般都会有简短的说明 xff0c 结合这些说明你可以进一步了解具体的退信原因并作出相应处理 一 退信由哪些内容组成
  • Java lambda List,树数据处理工具类

    前言 再日常的业务开发中 xff0c 常少不了list for循环处理 在查询mysql业务中 xff0c 通常不会在for循环中去查询 xff0c 而是一次去查询符合条件的数据 xff0c 以避免频繁的释放和获取连接 xff0c 然后转成
  • Ubuntu配置jdk11及安装eclipse

    一 安装jdk 1 安装jdk sudo dpkg span class token operator span i jdk span class token operator span span class token number 11
  • Linux系统flameshot截图软件安装配置

    一 下载安装flameshot sudo apt install flameshot 二 配置 1 进入系统设置中的 键盘设置 2 页面中会列出所有现有的键盘快捷键 xff0c 拉到底部就会看见一个 43 按钮 3 点击 43 按钮添加自定
  • xfce添加快捷图标

    一 创建菜单快捷图标 菜单快捷图标文件存放在 usr share applications文件夹中 以创建Eclipse的快捷图标为例 xff1a 命令行输入 sudo vim span class token operator span
  • vuecli3+ 基于element的tree组件,二次封装的树形组件,可以搜索、拖拽改变分组、拖拽排序、创建编辑删除分组、拖拽改变叶子节点分组等

    效果视图 xff1a 组件代码 xff1a TreeList vue lt template gt lt div class 61 34 tree list box 34 gt lt div class 61 34 search box 3
  • manjaro安装JDK 11 (LTS)

    刚从Ubuntu转到Manjaro之后 xff0c 各种头痛 xff0c 到处查资料 xff0c 因为刚刚从Ubuntu转过来稍微有些不适应 xff0c 自带的软件仓库确实好用 xff0c 但是没有我想要的jdk版本 xff0c 于是我就准
  • ubuntu点击任务栏应用程序最小化

    Ubuntu Dock xff08 位于屏幕左侧的任务栏 xff09 可以轻松打开 xff0c 管理和切换您最喜爱的应用程序与正在运行的应用程序 我喜欢点击Dock中的应用程序图标来恢复 xff0c 切换并最小化它 这是Windows中的默
  • 搭建网站用虚拟主机好还是云服务器好?

    虚拟主机好还是服务器好 xff1f 在搭建网站前 xff0c 特别是初次建站的站长 xff0c 经常会遇到选择虚拟主机好还是服务器好的问题 不管选择虚拟主机还是服务器 xff0c 总归都是要根据网站需求出发 不同类型的网站 xff0c 对网
  • qt打包和设置指定程序运行指定依赖库路径

    设置指定程序运行依赖库路径 在工程的 pro文件的最后增加如下配置 xff1a QMAKE RPATHDIR 61 lib lib64 注意 xff1a lib 和 lib64 相对路径是可执行程序在部署环境运行是依赖的库文件的路劲 xff