【发布时间】:2012-08-26 06:18:22
【问题描述】:
进一步说明我的情况。我知道当您使用动态库时,您需要将库路径导出到 LD_LIBRARY_PATH,以便可执行文件在运行时找到这些库。如果我不这样做,就会出现一个错误,即找不到共享库。
现在,如果我添加以下链接器标志“-L/path/to/library/-lthelibrary.so”,我可以运行我的可执行文件,而无需将库路径导出到 LD_LIBRARY_PATH。
这是为什么?
【问题讨论】:
-
嗯,据我所知,除了可执行文件中的“rpath”条目之外,没有任何方法可以嵌入实际搜索路径,但为此,必须设置 LD_RUN_PATH(不是 LD_LIBRARY_PATH) .运行“readelf
-d”时是否显示路径?
标签: c linker shared-libraries