動態(tài)庫
新建 mylib.c 文件
#include< stdio.h >
void mylib(void);
void mylib(void)
{
printf("This is mylibn");
}
在 Ubuntu 編譯
編寫測試代碼 test.c
#include < stdio.h >
void mylib(void);
int main(void)
{
mylib();
return 0;
}
編譯測試文件 test.c
-l:指定動態(tài)庫的庫名
-L:指定動態(tài)庫的查找位置。
-L . 表示在當(dāng)前目錄下去查找
運(yùn)行測試 a.out
在動態(tài)庫使用是,系統(tǒng)會默認(rèn)去/lib,/usr/lib 目錄下去查找動態(tài)函數(shù)庫,如果我們使用的庫不在里面,就會提示錯(cuò)誤。解決這個(gè)問題有三種方法。
第一種方法:
將生成的動態(tài)庫拷貝到/lib 或者/usr/lib 里面去,因?yàn)橄到y(tǒng)會默認(rèn)去這兩個(gè)路徑下尋找。
第二種方法:
把我們的動態(tài)庫所在的路徑加到環(huán)境變量里面去,比如我們動態(tài)庫所在的路徑為/home/test,我們就可以這樣添加,但是這種方法只在當(dāng)前設(shè)置的窗口有效。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/topeet/debug/linux_
我們加入環(huán)境后,運(yùn)行 a.out
第三種方法:
修改 ubuntu 下的配置文件/etc/ld.so.conf,我們在這個(gè)配置文件里面加入動態(tài)庫所在的位置,然后使用命令 ldconfig 更新目錄。
我們輸入以下命令編輯/etc/ld.so.conf 文件,如下圖所示:
修改完文件保存退出,輸入 ldconfig 更新目錄。運(yùn)行測試如下圖所示:
-
Linux
+關(guān)注
關(guān)注
87文章
11475瀏覽量
213008 -
文件
+關(guān)注
關(guān)注
1文章
578瀏覽量
25247 -
動態(tài)庫
+關(guān)注
關(guān)注
0文章
17瀏覽量
6330
發(fā)布評論請先 登錄
Linux動態(tài)鏈接庫的基本概念
Linux下靜態(tài)庫和動態(tài)庫的制作與使用
Linux系統(tǒng)共享庫編程
C++中動態(tài)鏈接庫的創(chuàng)建和調(diào)用
深入分析Windows和Linux動態(tài)庫應(yīng)用異同
Linux下靜態(tài)庫和動態(tài)庫(共享庫)的制作與使用
linux靜態(tài)庫和動態(tài)庫分析
你知道Linux動態(tài)鏈接庫的創(chuàng)建與使用?
Linux下的靜態(tài)庫、動態(tài)庫和動態(tài)加載庫
講解Linux虛擬機(jī)之使用動態(tài)庫和靜態(tài)庫

嵌入式Linux下動態(tài)庫和靜態(tài)庫使用

Linux開發(fā)_動態(tài)靜態(tài)庫創(chuàng)建與Makefile規(guī)則
Linux下的靜態(tài)鏈接庫和動態(tài)鏈接庫的區(qū)別是什么?

評論