linux平臺下靜態庫的創建和使用

linux平臺下靜態庫的創建和使用


一、步驟
gcc -c mylib.c 
//生成mylib.o文件
ar cr libmylib.a mylib.o
//生成libmylib.a
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
//將當前路徑添加到環境變量中
gcc -o main.out main.c -L. -lmylib
//生成可執行文件


當我們生成.a的庫文件後,gcc編譯器是找不到我們自己寫的.a文件的,所以我們需要將路徑添加到一下兩個路徑中。
方法有兩種:
1.可以把當前路徑加入 /etc/ld.so.conf中然後運行ldconfig,或者以當前路徑爲參數運行ldconfig(要有root權限才行)。
2.把當前路徑加入環境變量LD_LIBRARY_PATH中
當然,如果你覺得不會引起混亂的話,可以直接把該庫拷入/lib,/usr/lib/等位置(無可避免,這樣做也要有權限),這樣鏈接器和加載器就 都可以準確的找到該庫了。
我們採用第二種方法:
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH


二、測試代碼
//mylib.c
#include <stdio.h>
void hello();
void hello()
{
printf("this is hello_lib!\n");
return ;
}


//main.c
#include <stdio.h>
void main()
{
    hello();
    return;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章