我有两个与同一问题相关的问题:
我在 `pwd`/lib 中保存了一个共享对象,虽然使用它的可执行文件编译成功(通过使用 -l 和 -L 开关),但在运行时,它让我很伤心。如果我尝试运行
LD_LIBRARY_PATH=/my/absolute/path/to/library/directory ./test
它工作正常。但是如果我导出 LD_LIBRARY_PATH=/my/absolute/path/to/library/directory 并./test
说它找不到共享库。但是,如果我再做LD_LIBRARY_PATH=$LD_LIBRARY_PATH ./test
一次,它工作正常!!关于我做错了什么的任何想法?第二个问题与 LD_LIBRARY_PATH 环境变量的导出有关。如果我打开终端并键入
export LD_LIBRARY_PATH=/path/to/stuff
然后键入echo $LD_LIBRARY_PATH
,则变量是正确的。但是,如果我编写一个包含导出命令的脚本,仅仅运行它并不会更新变量,而是我需要运行source install.sh
才能真正持久化变量。什么是最好的解决方案?
感谢您的时间!