【问题标题】:so search path redefinition所以搜索路径重新定义
【发布时间】:2016-05-29 03:22:17
【问题描述】:

所有,

是否有一个选项我可以传递给配置或项目以重新定义 so 库搜索路径。

我正在使用 Anjuta 进行开发。我的项目由可执行二进制文件和几个生成动态链接库的项目组成。 Anjuta 维护人员告诉我,我必须运行“make install”才能运行或调试程序,因为默认情况下,so 的搜索路径来自“/usr/lib;/usr/local/lib ”。

但是,我仍在开发中,我希望将所有内容都保留在本地,如果不需要,请不要安装任何东西。

因此,如果存在这样的选项,可以将我的库搜索路径定义为“~/my_project/Debug/”,作为标准路径的永久或临时补充,那就太好了。

谢谢。

【问题讨论】:

    标签: gcc path linker shared-libraries


    【解决方案1】:

    您没有说您使用的是什么平台,但大多数 UNIX 变体允许您通过设置完全执行您想要的操作

    export LD_LIBRARY_PATH=$HOME/my_project/Debug
    

    如果您使用的是 Linux 或 Solaris,则可以将 -Wl,-rpath=$HOME/my_project/Debug 添加到您正在使用的二进制库和共享库的链接步骤中(而不是设置 LD_LIBRARY_PATH)。

    【讨论】:

    • 这是否包括 $HOME/my_project/Debug/projN,其中 N 是某个数字?
    • @Igor 不。您应该阅读运行时加载程序手册页,可能是man ld.so
    • 这与给出“-Wl,-rpath/home/igor/my_project/Debug”相同还是不同?
    猜你喜欢
    • 2019-03-24
    • 2012-07-25
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 2019-07-16
    • 1970-01-01
    • 2023-02-10
    • 2018-09-16
    相关资源
    最近更新 更多