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时不使用系统中原有的库,而使用当前目录下的库?

阅读 4.7k
1 个回答

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

export LD_LIBRARY_PATH=$(pwd)
./modified
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏