我先执行了命令: export LD_LIBRARY_PATH=/usr/local/lib
然后我打开了.bash_profile文件:vi ~/.bash_profile.在这个文件中,我把:
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)
然后,如果终端关闭并重新启动,则键入不echo $LD_LIBRARY_PATH显示结果.
如何永久设置路径?
我试图部署我的应用程序Ubuntu 16.04.所以我制作了一个包含以下层次结构的包 -
Package
|
----bin
|
-----application
-----application.sh
-----Qt
|
-----necessary qt libraries
-----platforms
Run Code Online (Sandbox Code Playgroud)
这是application.sh文件 -
#!/bin/sh
export LD_LIBRARY_PATH=`pwd`/Qt
./application
Run Code Online (Sandbox Code Playgroud)
当我执行该application.sh文件时,它显示我无法找到该libQt5MultimediaWidgets.so.5文件.但它在Qt文件夹中.此外,当我在导出后ldd application从application.sh文件打印LD_LIBRARY_PATH它给我以下输出 -
请检查标记的部分.任何人都可以解释为什么Qt即使在导出后仍未找到该文件夹中的库LD_LIBARRY_PATH?
编辑:
所以正如@Zang建议的那样,我检查了调试日志,这里是 -
请检查标记的部分.
看起来它实际上正在尝试实际libQt5MultimediaWidgets.so,然后报告它无法找到它.有谁能帮我理解这里发生的事情?
编辑-2:根据@Tarun的建议,我已经ls -al在我的Qt文件夹上运行了.这是输出 -