<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [TOC]   庫文件在鏈接(靜態庫和共享庫)和運行(僅限于使用共享庫的程序)時被使用,其搜索路徑是在系統中進行設置的。一般 Linux 系統把**/lib**和**/usr/lib**兩個目錄作為默認的庫搜索路徑,所以使用這兩個目錄中的庫時不需要進行設置搜索路徑即可直接使用。但是,對于處于默認庫搜索路徑之外的庫,就需要將庫的位置添加到庫的搜索路徑之中。設置庫文件的搜索路徑有下列兩種方式,可任選其一使用: 1. 在環境變量`LD_LIBRARY_PATH`中指明庫的搜索路徑。 2. 在`/etc/ld.so.conf`文件中添加庫的搜索路徑。 **方法一**   要在 Linux 系統中添加庫路徑,我們很容易想到環境變量`LD_LIBRARY_PATH`。這種設置方式很簡單,也不需要 root 權限,命令格式如下: ``` $ export LD_LIBRARY_PATH=<your-lib-path>:$LD_LIBRARY_PATH ``` 例如: ``` $ export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH ```   可以用如下命令查看`LD_LIBRAY_PATH`是否設置成功。 ``` $ echo $LD_LIBRARY_PATH ```   要注意的是,這種方法只是臨時設置環境變量`LD_LIBRARY_PATH`,重啟或打開新的 Shell 之后,一切設置將不復存在。為了讓這種方法更完美一些,可以將該`LD_LIBRARY_PATH`的`export`語句寫到系統文件中,例如`/etc/profile`、`/etc/export`、`~/.bashrc`或者`~/.bash_profile`等等。   寫在不同文件對該語句的讀取時機會有所不同,例如,`~/.bashrc`在每次登陸和每次打開 shell 都讀取一次,而`~/.bash_profile`只在登陸時讀取一次。但是對于嵌入式Linux來說,有些文件可能沒有,這就需要根據目標機器的情況來設置了。我一般是加到`~/.bashrc`中,將 export 語句添加在該文件的未尾。修改完后,還差一步,使配置生效!可以打開一個 Shell,或者使用`source`或`.`(點命令)使配置文件生效。如: ``` $ source ~/.bashrc ``` **方法二**   將自己可能存放庫文件的路徑都加入到`/etc/ld.so.conf`中是明智的選擇,因為這種添加庫路徑的效果是永久的。添加方法也很簡單,將庫文件的絕對路徑直接寫進去就OK了,一行一個。例如: ``` /usr/X11R6/lib /usr/local/lib /opt/lib ```   需要注意的是:這種搜索路徑的設置方式對于程序連接時的庫(包括共享庫和靜態庫)的定位已經足夠了,但是對于使用了共享庫的程序的執行還是不夠的。這是因為為了加快程序執行時對共享庫的定位速度,避免使用搜索路徑查找共享庫的低效率,所以是直接讀取庫列表文件`/etc/ld.so.cache`從中進行搜索的。   `/etc/ld.so.cache`是一個非文本的數據文件,不能直接編輯,它是根據`/etc/ld.so.conf`中設置的搜索路徑由`/sbin/ldconfig`命令將這些搜索路徑下的共享庫文件集中在一起而生成的(ldconfig 命令要以 root 權限執行)。因此,為了保證程序執行時對庫的定位,在`/etc/ld.so.conf`中進行了庫搜索路徑的設置之后,還必須要運行`/sbin/ldconfig`命令更新`/etc/ld.so.cache`文件之后才可以。   簡單的說,`ldconfig`的作用就是將`/etc/ld.so.conf`列出的路徑下的庫文件緩存到`/etc/ld.so.cache`以供使用。因此當安裝完一些庫文件(例如剛安裝好 glib),或者修改`ld.so.conf`增加新的庫路徑后,需要運行一下`/sbin/ldconfig`使所有的庫文件都被緩存到`ld.so.cache`中。如果沒做,即使庫文件明明就在`/usr/lib`下的,也是不會被使用的,結果編譯過程中抱錯,缺少xxx庫,去查看發現明明就在那放著,搞的想大罵 computer 蠢豬一個。   除了修改`/etc/ld.so.conf`,還可以在`/etc/ld.so.conf.d`目錄下添加`*.conf`文件,然后往該文件添加搜索路徑。同樣,需要運行 ldconfig 使之生效。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看