動態庫
新建 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:指定動態庫的庫名
-L:指定動態庫的查找位置。
-L . 表示在當前目錄下去查找
運行測試 a.out
在動態庫使用是,系統會默認去/lib,/usr/lib 目錄下去查找動態函數庫,如果我們使用的庫不在里面,就會提示錯誤。解決這個問題有三種方法。
第一種方法:
將生成的動態庫拷貝到/lib 或者/usr/lib 里面去,因為系統會默認去這兩個路徑下尋找。
第二種方法:
把我們的動態庫所在的路徑加到環境變量里面去,比如我們動態庫所在的路徑為/home/test,我們就可以這樣添加,但是這種方法只在當前設置的窗口有效。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/topeet/debug/linux_
我們加入環境后,運行 a.out
第三種方法:
修改 ubuntu 下的配置文件/etc/ld.so.conf,我們在這個配置文件里面加入動態庫所在的位置,然后使用命令 ldconfig 更新目錄。
我們輸入以下命令編輯/etc/ld.so.conf 文件,如下圖所示:
修改完文件保存退出,輸入 ldconfig 更新目錄。運行測試如下圖所示:
-
Linux
+關注
關注
87文章
11509瀏覽量
213726 -
文件
+關注
關注
1文章
579瀏覽量
25358 -
動態庫
+關注
關注
0文章
17瀏覽量
6353
發布評論請先 登錄
評論