gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:31:17 28 4
gpt4 key购买 nike

我使用动态链接到另一个的 premake (gmake) 构建了一个二进制文件。当我随后尝试运行二进制文件时,它提示找不到动态库。

ldd在二进制文件上,当然还有动态库是 => Not Found!

我当然可以export LD_LIBRARY_PATH=<path of the dynamic library > 但我不想那样。

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

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

根据我收集到的信息,RUNPATH可以被 LD_LIBRARY_PATH 覆盖但 RPATH 并非如此.

-rpath--enable-new-dtags将指示 gcc 的选项(或者更准确地说是链接器)同时设置 RUNPATHRPATH到相同的值,但这不是我真正想要的,我什至看不出那有什么意义。

2- 这有什么意义?

3- 我错过了什么吗?如何设置 RUN_PATH仅,因此通常会自动找到依赖项(在 RUN_PATH 中),除非指示使用 LD_LIBRARY_PATH 搜索特定路径首先。

最佳答案

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

用法:c:/strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/4.7.3/../../../../x86_64-w64-mingw32/bin/ld.exe [选项] 文件...

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

关于linux - 如何在不设置 RPATH 的情况下设置 RUNPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26924826/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com