Why changing LD_LIBRARY_PATH has no effect in Ubuntu?
我试图在
1 2 3 4 5 6 7 8 9 10 | Package | ----bin | -----application -----application.sh -----Qt | -----necessary qt libraries -----platforms |
这是
1 2 3 | #!/bin/sh export LD_LIBRARY_PATH=`pwd`/Qt ./application |
当我执行
请检查标记的零件。有人能解释一下为什么在导出
编辑:
所以按照@zang的建议,我已经检查了调试日志,这里是-
请检查标记的零件。
它似乎在尝试实际的
edit-2:根据@tarun的建议,我在qt文件夹上运行了
qt目录中的所有文件实际上都是指向同一目录中不存在的文件的Simlinks,因此找不到它们。
弗斯特
可能是PWD不在你想象的位置吗?
您可以尝试添加
1 2 3 4 | # Figure out where the application.sh script is located scriptpath="$( cd"$(dirname"$0")" ; pwd -P )" # Make sure our pwd is that location cd "$scriptpath" |
在脚本的顶部(假设从这里开始是bash shell)
这样,qt文件夹的所有相对路径都将有效。
第二
也许您应该考虑导出新的ld_库路径,如(从这里)所示:
1 2 | LD_LIBRARY_PATH=whatever export LD_LIBRARY_PATH |
第三
在更改变量(从这里)后,运行ldconfig命令让ld更新可能会很有用:
1 | sudo ldconfig |
如果你看你的
这些是你拥有的软链接。您的软链接
根据所示屏幕截图,