如何在不设置RPATH的情况下设置RUNPATH

时间:2014-11-14 07:15:44

标签: linux gcc

我使用premake(gmake)构建了一个二进制文件,它动态链接到另一个。当我试图运行二进制文件时,它抱怨它无法找到动态库。

关于二进制文件的

ldd,当然动态库是=> Not Found!

当然我可以export LD_LIBRARY_PATH=<path of the dynamic library&gt;但我不想要那个。

我希望二进制文件在不同的机器上开箱即用(假设动态库位置当然没有改变)

1-人们如何做到这一点?他们是否一直通过链接器标志设置RPATH

根据我收集的内容,RUNPATH可以覆盖LD_LIBRARY_PATH,但RPATH的情况并非如此。

-rpath--enable-new-dtags选项将指示gcc(或链接器更精确)设置RUNPATH和{{1相同的价值,但这不是我想要的,我甚至看不到它的重点。

2-那是什么意思?

3-我错过了什么?我该如何设置RPATH,这样一般情况下会自动找到依赖项(RUN_PATH),除非指示首先使用RUN_PATH搜索特定路径。

1 个答案:

答案 0 :(得分:0)

在我的笔记本电脑上,路径可能与您的路径不同,但“ - d”选项应该这样做。

用法:c:/ strawberry / c / bin /../ lib / gcc / x86_64-w64-mingw32 / 4.7.3 /../../../../ x86_64-w64-mingw32 / bin /ld.exe [options] file ...

选项:   -d,-dc,-dp强制定义公共符号