我试图在 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
文件时,它显示找不到libQt5MultitimediaWidgets.so.5
文件。但它在 Qt
文件夹中。此外,当我在导出 LD_LIBRARY_PATH
后从 application.sh
文件打印 ldd application
时,它会给我以下输出 -
请检查标记的部分。任何人都可以解释为什么即使在导出 LD_LIBARRY_PATH
之后也找不到 Qt
文件夹中的库吗?
编辑:
所以按照@Zang 的建议,我已经检查了调试日志,这里是 -
请检查标记的部分。
看起来它实际上正在尝试实际的 libQt5MultimediaWidgets.so
然后报告它无法找到它。谁能帮我了解这里发生了什么?
Edit-2:根据@Tarun 的建议,我在我的 Qt 文件夹上运行了 ls -al
。这是输出 -
最佳答案
您的 Qt 目录中的所有文件实际上是同一目录中不存在文件的 simlink,因此无法找到它们。
关于qt - 为什么更改 LD_LIBRARY_PATH 在 Ubuntu 中没有效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47682750/