我试图在Ubuntu 16.04
上部署我的应用程序。所以我制作了一个具有以下层次结构的软件包-
Package
|
----bin
|
-----application
-----application.sh
-----Qt
|
-----necessary qt libraries
-----platforms
这是
application.sh
文件-#!/bin/sh
export LD_LIBRARY_PATH=`pwd`/Qt
./application
当我执行
application.sh
文件时,它表明无法找到libQt5MultimediaWidgets.so.5
文件。但是它在Qt
文件夹中。另外,当我在导出ldd application
后从application.sh
文件中打印LD_LIBRARY_PATH
时,它给了我以下输出-请检查标记的零件。谁能解释一下为什么即使导出
Qt
后也找不到LD_LIBARRY_PATH
文件夹中的库吗?编辑:
因此,如@Zang所建议,我已经检查了调试日志,这是-
请检查标记的零件。
好像它实际上尝试了实际的
libQt5MultimediaWidgets.so
,然后报告它找不到它。谁能帮我了解这里发生的事情吗?编辑2:根据@Tarun的建议,我在Qt文件夹中运行了
ls -al
。这是输出-最佳答案
如果您查看ls -al
的输出
这些是您所拥有的软链接(soft link)。您的软链接(soft link)libQt5MultimediaWidgets.so.5
指向同一目录中的libQt5MultimediaWidgets.so.5.9.2
,并且该文件根本不存在。因此,您需要设置正确的软链接(soft link)路径或将文件放在同一目录中
关于qt - 为什么更改LD_LIBRARY_PATH在Ubuntu中无效?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47682750/