zoukankan      html  css  js  c++  java
  • gxx -L和/etc/ld.so.conf的理解

    编程之路刚刚开始,错误难免,希望大家能够指出。

    今天编了个动态库,然后自己测试了一下。

    忘记设置程序运行时系统搜索库的路径发生错误:

    忘记设置程序编译的时候 -L 指定路径报的错误:

    -L : 告诉程序在编译的时候动态库的信息在那个路径可以找到。

    /etc/ld.so.conf  :告诉系统程序运行时加载动态库的信息在那个路径可以找到。但需要注意的是/etc/ld.so.conf最重要的作用是作为将文件内的路径缓存到/etc/ld.so.cache以供系统快速查找库,具体看下面。

    在这里顺便记录一下设置动态库路径的三种方法:

      1.gcc参数设置
     

    -Wl,-rpath=库路径(相对,绝对都可以)

      2.环境变量设置

    export LD_LIBRARY_PATH=库路径(同上)

      这里只是临时设置,永久设置自行百度。

      3./etc/ld.so.conf设置

    vim /etc/ld.so.conf
    另起一行添加库的绝对路径!!!

      保存好文件后一定要执行 ldconfig。

      /sbin/ldconfig,作用是将文件/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache以供系统使用,因此当安装完一些库文件,或者修改/etc/ld.so.conf增加了库的新的搜索路径,需要执行一下ldconfig,使所有的库文件都被缓存到文件/etc/ld.so.cache中,如果没做,可能会找不到刚安装的库。

     一定要记住 -L服务于程序,/etc/ld.so.conf服务于系统。

  • 相关阅读:
    6000?
    基本把“主页大巴”做完了
    myDesk
    挂出了
    如何在网页中添加flash文件
    oracle的SQl语句
    打开PHP 提示下载
    实时计字数提醒的文本框
    wampserver无法打开http://localhost
    “ASP.adduser_aspx.GetTypeHashCode()”: 没有找到适合的方法来重写
  • 原文地址:https://www.cnblogs.com/jiangyibo/p/8612282.html
Copyright © 2011-2022 走看看