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

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 閱讀(1142) 評論(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>
            亚洲免费一级电影| 国产欧美一区二区精品婷婷| 久久xxxx| 欧美日韩在线视频观看| 亚洲第一福利视频| 国产亚洲亚洲| 在线视频亚洲欧美| 一本色道久久加勒比88综合| 久久久久久夜| 久久欧美中文字幕| 国产婷婷色综合av蜜臀av| 亚洲免费av电影| 日韩网站在线看片你懂的| 久久免费国产精品1| 久久这里有精品视频| 国产精品一区在线播放| 亚洲视频久久| 午夜天堂精品久久久久| 欧美视频日韩视频| 一区二区三区.www| 亚洲在线第一页| 欧美日韩网站| 中文久久乱码一区二区| 亚洲免费中文字幕| 国产精品美女久久久久久久| 夜夜嗨av一区二区三区四季av| 亚洲理论电影网| 欧美另类视频| 国产精品99久久久久久久vr| 亚洲永久视频| 国产偷久久久精品专区| 欧美一区二区三区视频在线观看| 久久精品国产第一区二区三区最新章节| 国产精品久久久久久亚洲调教| 亚洲一区二区在线免费观看| 欧美一区二区在线| 国一区二区在线观看| 久久精品一区二区三区中文字幕| 麻豆成人综合网| 亚洲国产清纯| 欧美日韩亚洲一区| 亚洲一区免费看| 狼人社综合社区| 亚洲精品视频在线观看网站| 欧美日韩精品欧美日韩精品一| 亚洲国产美女精品久久久久∴| 亚洲日本欧美| 国产精品久久国产精麻豆99网站| 午夜精品福利一区二区蜜股av| 久久久午夜电影| 亚洲精品乱码| 国产精品嫩草影院av蜜臀| 久久精彩视频| 亚洲欧洲精品一区二区三区波多野1战4 | 99国产精品| 国产精品麻豆va在线播放 | 一区二区免费在线播放| 小黄鸭精品密入口导航| 亚洲福利视频网| 国产精品久久中文| 久久久中精品2020中文| 99热在这里有精品免费| 久久久久久国产精品mv| 99国产精品久久久久久久久久| 国产精品久久毛片a| 开元免费观看欧美电视剧网站| 99re8这里有精品热视频免费| 欧美在线播放一区| 亚洲毛片一区| 伊人精品在线| 国产欧美日韩不卡| 欧美激情一二三区| 久久成人一区二区| 一区二区三区蜜桃网| 欧美黑人一区二区三区| 欧美一区二区视频在线观看2020| 亚洲精品乱码久久久久久| 国产三区精品| 国产精品人人爽人人做我的可爱| 乱码第一页成人| 欧美一站二站| 亚洲一区日韩| 一区二区三区免费观看| 亚洲欧洲精品一区二区三区波多野1战4 | 美日韩精品视频| 欧美一级黄色网| 中文久久精品| 999亚洲国产精| 亚洲国产激情| 在线欧美三区| 黑丝一区二区三区| 国产婷婷97碰碰久久人人蜜臀| 国产精品www.| 欧美高清视频一区| 欧美va亚洲va日韩∨a综合色| 久久精品女人| 久久精品噜噜噜成人av农村| 午夜激情亚洲| 先锋影音久久久| 亚洲欧美国产精品va在线观看| 一区二区三区精品国产| 日韩视频国产视频| 亚洲免费成人av| 一区二区三区精品国产| 亚洲美女在线国产| 一区二区三区不卡视频在线观看| 亚洲肉体裸体xxxx137| 亚洲国产精品一区二区三区| 欧美激情女人20p| 亚洲国产精品第一区二区三区| 欧美激情精品久久久久久久变态 | 激情小说另类小说亚洲欧美| 国产在线成人| 在线观看的日韩av| 亚洲国产毛片完整版| 亚洲日本欧美天堂| 一区二区三区四区五区精品视频| aⅴ色国产欧美| 亚洲手机视频| 欧美一区二区三区视频在线| 久久久99国产精品免费| 久久亚洲不卡| 亚洲国产另类久久久精品极度| 最新亚洲视频| 亚洲一卡久久| 久久九九99视频| 欧美精品久久一区二区| 欧美网站在线观看| 国产在线欧美日韩| 亚洲片在线资源| 亚洲图片在区色| 欧美一区二区三区免费在线看| 久久午夜视频| 91久久久久久久久久久久久| 亚洲视频第一页| 久久国产主播精品| 欧美极品一区二区三区| 国产精品欧美精品| 在线视频观看日韩| 一本色道88久久加勒比精品| 久久成人18免费网站| 欧美成人午夜免费视在线看片| 亚洲精品美女久久久久| 午夜精品国产| 欧美精品成人在线| 国产伦精品一区二区三区高清版 | 欧美91大片| 国产精品丝袜xxxxxxx| 影音先锋久久| 亚洲一区二区三区中文字幕| 久久亚洲一区二区三区四区| 亚洲精品乱码久久久久久按摩观| 亚洲欧美日韩综合国产aⅴ| 欧美电影在线| 国产免费观看久久| 99热这里只有精品8| 久久免费国产精品1| 99精品视频免费观看视频| 久久久久久久久久看片| 国产精品久久久久久久久免费 | 夜久久久久久| 麻豆精品精品国产自在97香蕉| 国产精品国产三级欧美二区| 亚洲精品国产精品国自产观看浪潮 | 久久精品视频在线看| 亚洲精品影视| 老巨人导航500精品| 国产亚洲一区在线| 亚洲一区二区成人| 亚洲激情女人| 久久青草久久| 国产真实乱偷精品视频免| 午夜日韩激情| av成人手机在线| 欧美高清不卡在线| 亚洲国产日韩在线一区模特| 久久久久国产精品一区三寸| 亚洲午夜久久久| 欧美午夜在线视频| 99在线热播精品免费| 亚洲第一福利社区| 麻豆精品网站| 91久久精品国产91久久性色tv| 久久久久网址| 久久精品夜夜夜夜久久| 国产一区视频观看| 久久久综合网| 久久精品青青大伊人av| 国产一区清纯| 麻豆精品国产91久久久久久| 久久精品91久久香蕉加勒比 | 99ri日韩精品视频| 亚洲人体影院| 欧美日韩免费一区二区三区视频| 99精品国产热久久91蜜凸| 亚洲精品欧美专区| 欧美日韩另类国产亚洲欧美一级| 在线视频你懂得一区二区三区| 亚洲人人精品| 国产精品高潮呻吟久久av无限 |