我在 Linux 上使用以下命令临时更改正在运行的程序的默认库路径:
/lib64/ld-linux-x86-64.so.2 --library-path /home/me/libs./myProgram
这将运行 myProgram 并使其首先检查 /home/me/libs 以查找其动态链接库。
所以我也想在 Mac 上这样做。有没有等效的方法?如果可能的话,我想避免设置环境变量。
答案1
与 Linux 等效的 MacOS X$LD_LIBRARY_PATH
是$DYLD_LIBRARY_PATH
...因此,您应该能够执行以下操作:
DYLD_LIBRARY_PATH=/home/me/libs ./myProgram
这将为该程序的本次运行分配一个环境变量的新值。(这实际上就是您通过执行 ld.so 所做的事情(顺便说一下,这是非常不寻常的))