假设,动态库 hello.so 位于 /home下,
那么,
gcc -o hellos hellos.c hello.so -Wl,-rpath=/home
或者
gcc -o hellos hellos.c hello.so -Wl,-rpath,/home
编出来的可执行文件可以直接执行而不用担心动态库的搜索路径。 原因是,
rpath后面的路径被写入到了可执行文件里面。
$ objdump -x hellos | grep RPATH
RPATH /home