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

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>
            亚洲免费av电影| 99精品视频免费在线观看| 伊人久久综合| 欧美日韩成人一区| 国产精品视频一区二区高潮| 亚洲天堂黄色| 亚洲午夜伦理| 国产一区再线| 亚洲国产成人久久综合| 麻豆精品一区二区综合av| 亚洲黄色一区二区三区| 亚洲国产精品久久久久秋霞影院 | 国产欧美日韩精品丝袜高跟鞋 | 欧美色精品天天在线观看视频| 欧美视频一区二区在线观看 | 欧美1区3d| 99国产一区| 亚洲欧美日韩国产精品| 国内一区二区在线视频观看| 欧美成人午夜免费视在线看片| 欧美电影在线播放| 亚洲欧美日韩在线| 久久久福利视频| 亚洲精选久久| 欧美在线视频一区二区| 亚洲区一区二| 亚洲午夜精品视频| 亚洲夫妻自拍| 亚洲一区二区三区中文字幕在线| 欧美一区二区在线| 女人天堂亚洲aⅴ在线观看| 先锋资源久久| 亚洲国产欧美一区二区三区丁香婷| 欧美福利影院| 国产精品一区二区三区四区| 久久久久一区| 欧美日韩日日夜夜| 久久久久久久精| 欧美日韩一区视频| 六月婷婷一区| 国产精品视频男人的天堂| 欧美成人免费va影院高清| 国产精品一区二区三区乱码| 欧美激情亚洲另类| 国产伊人精品| 最新日韩在线| 在线看欧美日韩| 欧美一区二区成人6969| 伊人久久亚洲热| 久久国产成人| 欧美一区二区视频免费观看| 免费成人高清在线视频| 欧美精品99| 蜜臀av国产精品久久久久| 欧美国产免费| 国产亚洲精品久久久久动| 老司机精品导航| 国产午夜亚洲精品不卡| 亚洲视频高清| 亚洲私拍自拍| 欧美揉bbbbb揉bbbbb| 亚洲电影一级黄| 一区二区三区在线看| 午夜精品久久久久久久久久久久| 一区二区三区视频在线看| 美女免费视频一区| 美女999久久久精品视频| 欧美性色综合| 国产亚洲一区二区精品| 理论片一区二区在线| 久久夜色精品国产欧美乱极品 | 米奇777在线欧美播放| 久久久99精品免费观看不卡| 国产精品入口日韩视频大尺度| 在线视频你懂得一区| 亚洲影院免费观看| 国产精品毛片a∨一区二区三区| 一区二区精品在线| 亚洲主播在线| 国产日韩1区| 久久精品电影| 亚洲福利视频网站| 一本久久综合亚洲鲁鲁五月天| 欧美日本韩国一区| 中文精品视频| 久久精品免费电影| 亚洲成色999久久网站| 欧美激情一区二区三区蜜桃视频 | 亚洲欧美一区二区三区久久| 国产精品ⅴa在线观看h| 亚洲精品一区二区三区不| 亚洲神马久久| 韩国三级电影久久久久久| 久久视频一区二区| 亚洲国产婷婷| 国产精品99久久久久久有的能看| 国产精品福利av| 欧美亚洲在线视频| 欧美成人免费大片| 一区二区三区三区在线| 国产精品午夜电影| 蜜月aⅴ免费一区二区三区| 一区二区欧美在线观看| 久久综合久久综合久久| 一区二区三区四区精品| 精品成人a区在线观看| 欧美激情网友自拍| 久久久久久久久久久久久久一区 | 欧美日韩精品一区二区三区四区| 亚洲午夜黄色| 美日韩精品免费观看视频| 香蕉免费一区二区三区在线观看| 亚洲免费在线| 亚洲电影自拍| 国产欧美精品一区二区三区介绍| 欧美高清视频| 欧美在线国产| 中文亚洲免费| 亚洲激情第一页| 久久亚洲欧美| 欧美一区二区三区婷婷月色 | 一本不卡影院| 99ri日韩精品视频| 亚洲一二三四区| 亚洲大胆视频| 国产亚洲精品v| 欧美性一二三区| 欧美精品免费观看二区| 久久躁狠狠躁夜夜爽| 午夜老司机精品| 一区二区三区精密机械公司| 亚洲国产成人精品久久久国产成人一区| 欧美一级艳片视频免费观看| 亚洲图片欧美日产| 亚洲精品国产视频| 在线高清一区| 影音先锋在线一区| 激情文学一区| 国产综合久久久久久鬼色| 国产农村妇女精品| 国产精品久久激情| 国产精品xxx在线观看www| 欧美啪啪成人vr| 欧美久久婷婷综合色| 欧美成在线视频| 国产精品理论片| 麻豆av一区二区三区| 国产日韩欧美综合一区| 国产精品草莓在线免费观看| 欧美成年视频| 欧美岛国激情| 欧美sm极限捆绑bd| 免费观看国产成人| 欧美成人tv| 欧美日韩精品一区二区天天拍小说| 欧美激情aaaa| 欧美午夜不卡在线观看免费 | 正在播放亚洲一区| 亚洲午夜国产成人av电影男同| 中文精品一区二区三区 | 亚洲看片网站| 中国成人在线视频| 亚洲欧美伊人| 久久亚洲高清| 欧美精品www在线观看| 欧美日韩1区2区| 国产伦精品一区二区三区视频黑人| 国产乱码精品一区二区三区忘忧草 | 欧美高清一区| 99精品国产在热久久下载| 亚洲专区欧美专区| 久久久999精品| 欧美精品福利| 国产欧美日韩视频一区二区三区| 一区二区在线视频观看| 亚洲欧美日韩视频二区| 亚洲第一精品夜夜躁人人躁 | 亚洲综合精品自拍| 久久午夜精品| 亚洲精品视频在线看| 亚洲欧美激情一区| 免费欧美日韩| 国产精品香蕉在线观看| 亚洲福利视频一区| 亚洲一区免费网站| 欧美成人69av| 亚洲制服欧美中文字幕中文字幕| 久久综合给合久久狠狠狠97色69| 欧美日韩中文字幕在线| 狠狠色噜噜狠狠狠狠色吗综合| 99视频在线观看一区三区| 久久久精彩视频| a91a精品视频在线观看| 久久一区中文字幕| 国产精品久久久久一区二区三区共 | 久久综合亚洲社区| 国产免费成人av| aa国产精品| 欧美激情中文字幕乱码免费| 亚洲综合国产|