gpt4 book ai didi

c++ - 有没有办法将相对库路径添加到可执行文件以避免设置 LD_LIBRARY_PATH

转载 作者:太空狗 更新时间:2023-10-29 20:24:50 25 4
gpt4 key购买 nike

我正在构建一个链接一些共享库的程序。它们包含在与我的项目相关的 lib/目录中。

我遇到的问题是我希望可执行文件知道在相对 ../lib 目录中搜索库。这可能吗?

我真的不想更改 ld_library_path 或将文件移动到根拥有的标准路径之一。

当 .so 文件位于 strace/ldd 显示的标准路径之一时,我能够编译可执行文件并运行它

最佳答案

您可以使用链接器中的 -rpath(使用 ld 作为链接器)。

来自其手册页:

-rpath=dir

Add a directory to the runtime library search path. This is used when linking an ELF executable with shared objects. All -rpath arguments are concatenated and passed to the runtime linker, which uses them to locate shared objects at runtime. The -rpath option is also used when locating shared objects which are needed by shared objects explicitly included in the link; see the description of the -rpath-link option. If -rpath is not used when linking an ELF executable, the contents of the environment variable "LD_RUN_PATH" will be used if it is defined.

关于c++ - 有没有办法将相对库路径添加到可执行文件以避免设置 LD_LIBRARY_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26131380/

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