尝试以下面提到的方式通过make文件导出.so的路径
安装数据-AM:
export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:'$(PWD)'
echo $$LD_LIBRARY_PATH
但是如果回显$ LD_LIBRARY_PATH它仍然是空白的。请提前帮助我,
答案 0 :(得分:3)
Makefile
中的每个目标语句都是一个独立的语句,可以在子shell中执行。执行完成后,make
启动一个新的子shell来执行下一个语句。
export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:'$(PWD)'
make
启动执行此命令的子进程。此命令完成执行,make
将继续执行下一个命令。
echo $$LD_LIBRARY_PATH
make
启动子进程以执行此命令。上一个命令已经完成执行。上一个命令确实在其环境中设置了LD_LIBRARY_PATH
,但这是古老的历史。那个孩子的过程,以及它的环境,走向了天空中的那个大桶。这个新流程对此一无所知。
您需要将所有内容作为一个语句执行,一个shell迷你脚本:
export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:'$(PWD)'; echo $$LD_LIBRARY_PATH
编写非常长的shell迷你脚本时,要由make
作为单个子进程执行,可以使用反斜杠拆分长行:
export LD_LIBRARY_PATH=$$LD_LIBRARY_PATH:'$(PWD)'; \
echo $$LD_LIBRARY_PATH