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

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

在工程的.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

 

おすすめ

転載: blog.csdn.net/weixin_43841155/article/details/116232605