我读了一些关于使用LD_LIBRARY_PATH的问题的文章,甚至作为包装脚本的一部分:
http://linuxmafia.com/faq/Admin/ld-lib-path.html
http://blogs.oracle.com/ali/entry/avoiding_ld_library_path_the
在这种情况下 - 推荐的替代品是什么?
谢谢.
我正在尝试将包含特殊字符串$ ORIGIN的RPATH链接到使用GCC和Code :: Blocks IDE构建的可执行文件中.我指定了
-Wl,-R$ORIGIN
Run Code Online (Sandbox Code Playgroud)
在项目的链接器选项中,但输出到GCC的命令行是错误的(为了清楚起见剥离):
g++ -Wl,-R
Run Code Online (Sandbox Code Playgroud)
为Code :: Blocks指定此参数的正确方法是什么?
假设我的平台是使用GNU构建工具链(GCC等)的vanilla(非嵌入式)x86-64 Linux.
要指定$ORIGIN的RPATH,我知道的链接器选项:-Wl,-rpath,'\$\$ORIGIN'.
今天,我发现了另一种选择:-Wl,-z,origin.
使用时我应该总是包括在内吗?-Wl,-z,origin-Wl,-rpath,'\$\$ORIGIN'
官方GNU ld文档,说:
标记对象可能包含$ ORIGIN.
相关但不同:https://stackoverflow.com/questions/33853271/what-are-the-recommended-gnu-linker-options-to-specify-rpath