你说得对,ELF文件头中的DT_RUNPATH/DT_RPATH可以指定冒号分隔的多个搜索目录,这个是linker生成ELF文件时写入的。里面用“.”这种相对路径是shell的提示符所在的目录吧(工作目录/当前目录),不一定是ELF所在的目录。试试绝对路径,不过允许用绝对路径的话估计也不需要折腾这个了。
另外可以试试弄个脚本wrapper。直接运行的是脚本,脚本检测自己所在目录后设置好LD PATH变量,然后再调用同目录下的ELF可执行程序。
【 在 il15 的大作中提到: 】
: 按照我之前的认识,编译的时候好像是可以指定它搜索动态库的路径的。
: 找了一下,这里有提到:
: (
https://blog.csdn.net/P19777/article/details/104033213)
: ...................
--
修改:z16166 FROM 125.35.121.*
FROM 125.35.121.*