美文网首页
linux设置软件运行时动态库查找路径

linux设置软件运行时动态库查找路径

作者: 坤kln | 来源:发表于2019-05-29 12:38 被阅读0次

    用习惯了windows,在linux下写代码,涉及到动态库,总是要复制到/usr/lib里,觉得不方便,特别是调试的时候,不想复制过,特地找了一下怎么设置动态库查找路径,这里记录一下

    程序是通过环境变量LD_LIBRARY_PATH的路径来查找库,那么我们就修改这个值,添加我们程序所在目录

    命令:

    export LD_LIBRARY_PATH=自己程序库路径:$LD_LIBRARY_PATH
    

    可以直接在terminal中执行,但是只在当前terminal有效

    可以在/.bash_profilez或者/.bashrc或者~/.profile或者/etc/profile

    第二种方法,可以在编译的时候添加编译选项

    -Wl,-rpath,运行库路径
    #例如 -Wl,-rpath,./
    #     -Wl,-rpath,/home/root
    #     -Wl,-rpath,./:/home/root
    
    #也可以写成
    -Wl,-rpath=运行库路径
    #例如 -Wl,-rpath=./
    #     -Wl,-rpath=/home/root
    #     -Wl,-rpath=./:/home/root
    

    这里补充一点,如果是在QT .pro文件里添加,需要添加到LIBS,比如LIBS += -Wl,-rpath=/home/root,如果使用qt的远程调试,这个路径需要绝对路径,不能使用./当前路径,因为调试时的当前路径估计不是软件当前目录

    应该还有其他方式设置,以后再记录

    参考:

    https://www.cnblogs.com/jiftle/p/7026905.html

    https://www.cnblogs.com/sky-heaven/p/6641832.html

    https://blog.csdn.net/xianxjm/article/details/73609142

    https://blog.csdn.net/wh8_2011/article/details/79519293

    相关文章

      网友评论

          本文标题:linux设置软件运行时动态库查找路径

          本文链接:https://www.haomeiwen.com/subject/bgnetctx.html