青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Error

C++博客 首頁 新隨筆 聯系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks

運行時使用非標準位置/usr/lib和/lib下的庫的方式有三種:
(1) 設置$LD_LIBRARY_PATH=庫所在目錄(多個目錄用:分隔),系統加載工具ld.so/ld-linux.so將順序搜索變量指定的目錄。例如#$LD_LIBRARY_PATH=/usr/local/mysql/lib ./test_mysql
(2) 以root身份把庫路徑加入/etc/ld.so.conf或在/etc/ld.so.conf.d中創建特定的.conf文件,然后運行ldconfig更新/etc/ld.so.cache。例如:在/etc/ld.so.conf.d下創建文件mysql.conf寫入/usr/local/mysql/lib
(3) 另一種辦法就是把需要的庫copy到/usr/lib或/lib,但這不是建議的方法,特別是盡量避免copy發到/lib。但這種方法可以在編譯時免去用-L選項。



linux中動態鏈接庫的搜索順序

 (2008-12-23 10:03:20)
標簽: 

雜談

linux中動態鏈接庫的搜索順序 
//
// by kirk,2008.11.21,文中有bug請搞緊與我聯系:-)
//   
  

    在接手一個很古老的程序時,發現其所使用的動態庫都實在是太陳舊了,正式運行環境中部署的庫都是相適應的,而目前的開發測試環境中均是部署的新的升級版本。為了能在這些環境下開發測試,程序得能在自定義的路徑里來搜索。因此在這里復習一下linux中程序對動態鏈接庫的搜索順序,如下所述:

   1.首先查看程序文件的.dynamic 段是否包含了一個叫DT_RPATH的項(它是一個以冒號分隔的庫文件搜索目錄列表)。

   怎么設置這個選項?

   需要在編譯連接程序的時候使用-Wl,-rpath選項,假設一個程序test需要使用liblib.so庫,如下所示進行編譯連接:

    

g++ -o test -L. -llib -Wl,rpath=./ test.cpp
 

     這樣在執行test程序時,test便會先到./即當前目錄下查找所需要的動態庫liblib.so

    2.查找是否存在環境變量 LD_LIBRARY_PATH(它是一個以冒號分隔的庫文件搜索目錄列表)。

   怎么設置這個選項?當然是設置linux下的環境變量就可以了。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./
 

      當然,這種方法是對當前登錄生效的。如果想開機即有效,跟其它環境變量的設置也是一樣,需要修改一些配置文件。

    3.查看庫高速緩存文件 /etc/ld.so.conf ,它包含了庫名和路徑的一個對應列表,如果庫名存在,連接器就使用它對應的路徑,用這個查找方法能夠找到大部分的庫。

   怎么設置這個選項?可以直接編輯ld.so.conf加入需要查找的路徑,也可以在/etc/ld.so.conf.d目錄下的己有文件中加入路徑,或者在該目錄下新建一個文件(名字為*.conf即可),再把需要的路徑加入到該文件中。最后執行ldconfig即可生效。

    4.查找默認路徑/lib和/usr/lib,

    如果經過了以上的步驟仍然查找失敗,則將報錯并退出相關程序。

    對于前三個步驟來說,我們均是可以進行設置調整的,其中第三個步驟中的設置需要root權限才能進行,且會影響所有的程序。當使用第一、第二中的方法進行了設置調整后,我們便可以使多種版本的庫共存在同一環境下進行測試,同名也無所謂。
 *********************************************************************

環境變量LD_LIBRARY_PATH用來指定查找共享庫時除了默認路徑之外的其他路徑。(該路徑在默認路徑之前查找)
移植程序時的經常碰到需要使用一些特定的動態庫,而這些編譯好的動態庫放在我們自己建立的目錄里,這時我們可以設置LD_LIBRARY_PATH
例:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/work/lib/
這樣就可以使用/work/lib/下的庫文件了,運行程序后系統會自動到環境變量LD_LIBRARY_PATH指定的路徑中查找其所需的庫。
系統查找動態庫的順序
系統先找LD_LIBRARY_PATH下的庫再找/lib and /usr/lib等路徑下的庫,還有/etc/ld.so.conf里指定的路徑(如果ld.so.conf存在),man ldconfig for more information
[url=http://infomax/bbs/misc.php?action=viewratings&tid=111&pid=228][/url]
使Linux啟動之后就加載LD_LIBRARY_PATH的路徑
/etc/rc.d/rc.local文件中加入export   LD_LIBRARY_PATH="xxxxx"  即可
如果在鏈接時使用了"-R"和"-L"選項,則相關動態庫的路徑將保存在ELF文件中,于
是以后的運行中不再需要設置環境變量去定位動態庫。比如,有一個
/usr/local/lib/libfoo.so,而你的bar程序需要這個libfoo.so,編譯、鏈接時最好
這樣 :gcc -Wall -pipe -O3 -o bar -R/usr/local/lib -L/usr/local/lib bar.c -lfoo
(#man gcc ,沒發現-R或-rpath選項,待查)


posted on 2015-08-18 17:42 Enic 閱讀(1138) 評論(0)  編輯 收藏 引用 所屬分類: linux
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩国产在线| 99re成人精品视频| 亚洲在线电影| 中文在线一区| 免播放器亚洲一区| 91久久精品www人人做人人爽| 亚洲在线免费| 亚洲欧美日韩天堂一区二区| 午夜一区二区三区不卡视频| 久久av老司机精品网站导航| 久久久www免费人成黑人精品| 另类av导航| 亚洲国产精品一区在线观看不卡| 日韩视频一区二区在线观看 | 久久九九有精品国产23| 久久五月婷婷丁香社区| 欧美日本亚洲韩国国产| 国产一区二区三区久久悠悠色av | 日韩视频精品| 欧美尤物巨大精品爽| 欧美va天堂在线| 99国产精品99久久久久久| 欧美一级欧美一级在线播放| 欧美激情一区二区三区| 国产综合自拍| 亚洲一区二区精品在线| 你懂的成人av| 性一交一乱一区二区洋洋av| 欧美片在线观看| 在线成人性视频| 午夜亚洲福利| 亚洲另类视频| 麻豆精品在线播放| 国产欧美日本一区视频| 一本色道久久综合亚洲精品不 | 久久riav二区三区| 亚洲片在线观看| 久久亚洲美女| 国内成+人亚洲+欧美+综合在线| 亚洲视频精品| 亚洲人成精品久久久久| 久久一区二区三区av| 国产欧美日韩一区二区三区在线观看 | 亚洲国产日韩美| 亚洲一区视频在线| 亚洲第一区在线| 久久精品成人一区二区三区| 国产精品每日更新在线播放网址| 亚洲免费高清视频| 亚洲福利视频网站| 免费成人av在线看| 亚洲国产成人av| 蜜桃av一区二区三区| 欧美在线1区| 国产视频一区免费看| 亚洲欧美精品一区| 亚洲社区在线观看| 国产精品国产三级国产专播精品人| 日韩视频一区二区三区在线播放免费观看 | 狠狠色伊人亚洲综合网站色| 亚洲欧美清纯在线制服| 欧美日韩在线视频首页| 欧美一区二区三区久久精品茉莉花 | 欧美激情第一页xxx| 国产一区在线看| 一区二区在线观看av| 亚洲在线播放电影| 亚洲人久久久| 在线观看日韩一区| 亚洲在线免费视频| 亚洲国产精品成人综合色在线婷婷 | 欧美一区二区三区免费视| 欧美激情一区二区三区在线视频观看| 嫩草影视亚洲| 亚洲激情网站免费观看| 亚洲欧美一级二级三级| 久久亚洲一区二区| 国产亚洲精品bv在线观看| 久久久午夜精品| 欧美高清在线精品一区| 亚洲第一福利社区| 亚洲一区二区视频在线| 亚洲精品免费看| 国产精品亚洲综合| 欧美在线观看你懂的| 亚洲精品裸体| 亚洲在线观看| 欧美在线亚洲综合一区| 精品999在线播放| 在线性视频日韩欧美| 亚洲香蕉在线观看| 久久久精彩视频| 欧美中文在线观看| 亚洲图片欧洲图片av| 亚洲精品久久久一区二区三区| 亚洲国产老妈| 欧美顶级艳妇交换群宴| 香蕉成人伊视频在线观看 | 久久九九国产精品| 久久久999| 久久不射网站| 欧美精品三级日韩久久| 亚洲自啪免费| 久久av二区| 99国产精品久久久久久久| 亚洲午夜久久久久久尤物 | 国产区二精品视| 日韩午夜三级在线| 在线中文字幕一区| 老司机成人在线视频| 你懂的视频一区二区| 国产日韩欧美精品综合| 欧美在线播放| 亚洲在线免费视频| 亚洲午夜三级在线| 欧美一区二区三区在线观看| 国产亚洲一区二区在线观看| 亚洲精品综合精品自拍| 亚洲国产成人久久综合| 性做久久久久久| 亚洲女人小视频在线观看| 免费观看成人网| 久久免费高清| 国产视频亚洲| 亚洲欧美日韩中文视频| 亚洲一区高清| 欧美日韩亚洲视频| 亚洲人成人一区二区三区| 亚洲高清免费视频| 久久美女性网| 免费在线成人| 在线观看日韩一区| 久久在线视频| 欧美粗暴jizz性欧美20| 一区二区三区在线视频播放| 欧美在线观看视频一区二区三区| 午夜一区二区三区在线观看| 国产精品国色综合久久| 一本色道久久综合亚洲精品按摩 | 国模套图日韩精品一区二区| 亚洲一区二区三区在线观看视频| 中日韩视频在线观看| 欧美日韩久久不卡| 99精品欧美一区| 亚洲免费视频在线观看| 国产精品女主播在线观看 | 午夜一区二区三区在线观看| 欧美尤物巨大精品爽| 国产亚洲制服色| 久久婷婷综合激情| 最新国产成人在线观看 | 欧美激情中文字幕一区二区| 亚洲国产一区二区三区青草影视 | 国语自产偷拍精品视频偷| 久久久91精品国产| 亚洲国产天堂久久综合| 亚洲香蕉成视频在线观看| 国产精品网曝门| 国产精品嫩草久久久久| 午夜一区二区三区在线观看| 国产欧美不卡| 久久免费国产精品| 亚洲久久一区二区| 欧美一区二区三区四区视频| 一区二区亚洲欧洲国产日韩| 欧美精品www| 午夜欧美电影在线观看| 美日韩精品免费观看视频| 99热免费精品在线观看| 国产日韩欧美制服另类| 欧美激情欧美狂野欧美精品| 亚洲视频精品| 欧美第一黄网免费网站| 亚洲一区二区三区三| 一区二区三区在线观看欧美| 欧美日韩日本网| 久久九九国产精品怡红院| 亚洲久久视频| 欧美成人精品1314www| 亚洲欧美国产精品桃花| 亚洲第一区在线观看| 国产精品久久一卡二卡| 免费日韩成人| 久久精品国产亚洲一区二区| 在线午夜精品自拍| 91久久在线观看| 久久精品一二三| 亚洲一区欧美一区| 亚洲国产一区二区三区高清| 国产欧美不卡| 国产精品美女久久久久av超清| 欧美国产先锋| 老司机久久99久久精品播放免费| 香蕉国产精品偷在线观看不卡| 99视频+国产日韩欧美| 亚洲国产精品精华液网站| 免费观看一级特黄欧美大片| 久久久91精品国产一区二区三区 | 亚洲大胆人体在线| 国产日韩欧美在线播放|