zoukankan      html  css  js  c++  java
  • 几种指定链接库搜索路径

     
    -Wl,--rpath=
    指定编译和运行期间的库搜索路径RPATH,这个路径会写入到编译好的二进制文件中。
     
    -Wl,--rpath=,--enable-new-dtags

    指定编译和运行期间的库搜索路径RPATH和RUNPATH,这两个路径同样会写入到二进制文件中,但只有RUNPATH起作用,RPATH会被忽略掉。RUNPATH实际是RPATH的另一个版本,区别是RPATH不能被LD_LIBRARY_PATH覆盖,而RUNPATH则可以被LD_LIBRARY_PATH覆盖。

     
    LD_RUN_PATH
    全局环境变量,与-Wl,--rpath=作用相同,在没有指定-Wl,--rpath=时起作用。
     
    -L
    指定编译期间的库搜索路径,该路径不会被写入二进制文件中。如果-L与-Wl,--rpath=同时出现,则-Wl,--rpath=起作用。
     
    LIBRARY_PATH
    全局环境变量,与-L作用相同,在没有指定-L时起作用。
     
    LD_LIBRARY_PATH
    全局环境变量,指定运行期间的库搜索路径。
     
    /etc/ld.so.conf
    与LD_LIBRARY_PATH作用相同,需要结合ldconfig或重启将新加的路径写到/etc/ld.so.cache中起作用。
     
    在运行期间,库搜索的先后顺序是

    1. the RPATH binary header (set at build-time) of the library causing the lookup (if any)
    2. the RPATH binary header (set at build-time) of the executable
    3. the LD_LIBRARY_PATH environment variable (set at run-time)
    4. the RUNPATH binary header (set at build-time) of the executable
    5. /etc/ld.so.cache
    6. base library directories (/lib and /usr/lib)

  • 相关阅读:
    Git更新或提交出错的解决办法
    webpack简单学习的入门教程
    CentOS源码安装QT
    后台程序在向tty/串口写数据的时候stop了
    Linux signal 处理
    Linux C 获取 文件的大小
    Microsoft Excel 标题栏或首行锁定
    Socket连接何时需要断开
    Windows MFC 打开文本
    动态库的生产和调用
  • 原文地址:https://www.cnblogs.com/zszmhd/p/3365219.html
Copyright © 2011-2022 走看看