当前位置: 技术问答>linux和unix
如何改掉elf文件中动态库的路径
来源: 互联网 发布时间:2017-01-17
本文导语: 我的意思是: 拿着比如vi的源码,编译后,ldd vi会列出 [root@localhost bin]# ldd vi linux-gate.so.1 => (0x0021e000) libm.so.6 => /lib/libm.so.6 (0x00d04000) libselinux.so.1 => ...
我的意思是:
拿着比如vi的源码,编译后,ldd vi会列出
[root@localhost bin]# ldd vi
linux-gate.so.1 => (0x0021e000)
libm.so.6 => /lib/libm.so.6 (0x00d04000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00d8e000)
libncurses.so.5 => /lib/libncurses.so.5 (0x049b1000)
libacl.so.1 => /lib/libacl.so.1 (0x05525000)
libc.so.6 => /lib/libc.so.6 (0x00b89000)
libtinfo.so.5 => /lib/libtinfo.so.5 (0x04996000)
/lib/ld-linux.so.2 (0x00b65000)
libdl.so.2 => /lib/libdl.so.2 (0x00cfd000)
libattr.so.1 => /lib/libattr.so.1 (0x0044b000) ---如前面的/lib/我如何把这个路径改成我的路径
前提是linux的应用,用autoconf automake建立的configure这种东西进行配置编译,如何改成我上面希望得到的东西?
拿着比如vi的源码,编译后,ldd vi会列出
[root@localhost bin]# ldd vi
linux-gate.so.1 => (0x0021e000)
libm.so.6 => /lib/libm.so.6 (0x00d04000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00d8e000)
libncurses.so.5 => /lib/libncurses.so.5 (0x049b1000)
libacl.so.1 => /lib/libacl.so.1 (0x05525000)
libc.so.6 => /lib/libc.so.6 (0x00b89000)
libtinfo.so.5 => /lib/libtinfo.so.5 (0x04996000)
/lib/ld-linux.so.2 (0x00b65000)
libdl.so.2 => /lib/libdl.so.2 (0x00cfd000)
libattr.so.1 => /lib/libattr.so.1 (0x0044b000) ---如前面的/lib/我如何把这个路径改成我的路径
前提是linux的应用,用autoconf automake建立的configure这种东西进行配置编译,如何改成我上面希望得到的东西?
|
利用LD_LIBRARY_PATH设置.so搜索路径, 或者设置ld.so.conf, 将你自己的路径加入到搜索路径
ldd显示出的是搜索到的动态库, 并不是在vi elf文件中有这样的路径信息.
ldd显示出的是搜索到的动态库, 并不是在vi elf文件中有这样的路径信息.