设置 LD_LIBRARY_PATH 还不够吗?

设置 LD_LIBRARY_PATH 还不够吗?

我已经编辑了我的/etc/bashrc设置LD_LIBRARY_PATH如下我之前问过的问题。但是它似乎没有生效。尽管echo $LD_LIBRARY_PATH确实显示了我的修改。并且运行我的程序:LD_LIBRARY_PATH="/usr/local/lib" ./test.cgi明确地确实有效。我需要重新启动系统吗?发生了什么事?

答案1

您需要export该变量。

export LD_LIBRARY_PATH="/usr/local/lib"
./test.cgi

您的公式LD_LIBRARY_PATH="/usr/local/lib" ./test.cgi在当前 shell 中设置变量。如果您只是在运行,LD_LIBRARY_PATH=/usr/local/lib ; ./test.cgi那么您将在当前 shell 中设置它,但不会在子进程 ./test.cgi 中设置它。

bash手册页中:

export:
        The supplied names are marked for automatic export to the environment of subsequently executed commands. 

答案2

尝试运行ldconfig -v重建库缓存。

相关内容