Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
367 views
in Technique[技术] by (71.8m points)

Linux运行可执行文件如何指定动态链接库

在当前目录下有一个可执行文件modified

$ ldd modified
    linux-vdso.so.1 (0x00007ffff7fce000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007ffff74bb000)
    /usr/local/lib/libdyninstAPI_RT.so (0x00007ffff6429000)
    /lib64/ld-linux-x86-64.so.2 (0x00007ffff7fcf000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ffff6423000)

还有两个动态链接库ld-linux-x86-64.so.2以及libc.so.6,如果才能使得运行modified时不使用系统中原有的库,而使用当前目录下的库?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

在 library 兼容的情况下,启动 binary 前,设置环境变量 LD_LIBRARY_PATH 为 binary 所在目录。

export LD_LIBRARY_PATH=$(pwd)
./modified

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...