手把手教你 linux(ubuntu环境)下打包 QT 程序

linux (ubuntu环境)下发布QT程序到非开发机器

1、ldd 查看动态库缺失

首先,保证在开发机器上通过 QTCreator 能构建出项目并能运行成功。

在 windows 平台下,我们使用 windeployqt 去拷贝动态库,而在 linux 下,也有对应的命令是 ldd 。来到 release文件夹下,使用 ldd VPlayer 命令查看 VPlayer(暂且称我们的程序名为 VPlayer)的动态库链接情况,假如我们看到下面这种情况,有的库 not found:

链接库缺失

首先,在红框下方,可以看到一些依赖库指向了 ubuntu 系统目录 usr/lib ,一种原因是这些库是系统自带库,一种原因是 apt-get 的默认安装路径的 lib 库就在 usr/lib 下,这个时候启动 VPlayer ,系统会自动去这个目录下搜索动态依赖库。因此我们要做的就是把我们的动态库路径(即为 release 下 bin 目录)告诉系统,让启动 VPlayer 时去我们指定的目录下搜索依赖库。

2、添加动态库搜索路径

把我们的release添加进系统的搜索路径常见的有3种方式:

  1. 添加 VPlayer 目录到系统共享库搜索路径:进入 etc/ld.so.conf.d 目录,使用命令 sudo touch VPlayer.conf 创建一个 conf 文件,里面写上当前应用程序的 bin 目录,例如 VPlayer 的 bin 是 /home/zhl/bin ,然后执行 sudo ldconfig 去更新缓存文件,可立即生效。
  2. 添加临时环境变量:LD_LIBRARY_PATH=/home/zhl/bin ,此方法只在当前 s
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章