動態庫
新建 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文章
11296瀏覽量
209364 -
文件
+關注
關注
1文章
565瀏覽量
24733 -
動態庫
+關注
關注
0文章
17瀏覽量
6222
發布評論請先 登錄
相關推薦
深入分析Windows和Linux動態庫應用異同
深入分析Windows和Linux動態庫應用異同
摘要:動態鏈接庫技術實現和設計程序常用的技術,在Windows和
發表于 10-22 11:36
?1294次閱讀
你知道Linux動態鏈接庫的創建與使用?
使用GNU的工具我們如何在Linux下創建自己的程序函數庫?一個“程序函數庫”簡單的說就是一個文件包含了一些編譯好的代碼和數據,這些編譯好的代碼和數據可以在事后供其他的程序使用。
發表于 04-28 16:45
?1120次閱讀
Linux下的靜態庫、動態庫和動態加載庫
庫的存在極大的提高了C/C++程序的復用性,但是庫對于初學者來說有些難以駕馭,本文從Linux的角度淺談Linux下的靜態庫
發表于 04-02 14:32
?797次閱讀
評論