关于linux下制作静态库
本小測試程序是從<<linux程序設計第4版>>摘錄;
直接入正正題:
我們要創建一個表態庫,libfoo.a
所用文件: fred.c bill.c
其中fred.c代碼如下:
其中bill.c 代碼如下:
?
這樣我們做好了兩個源文件。
我們還要做一個頭文件lib.h,代碼其實就是包涵這兩個函數就行了。
?
然后我們進行編譯:把源文件編譯成目標文件。
gcc -c bill.c fred.c
這樣會生成兩個.o文件,fred.o bill.o
然后我們就可以寫測試程序了。我們寫一個program.c.
?
然后我們就可以編譯了
gcc -c program.c
同樣也是編譯出目標文件。
然后我們可以編譯出可執行文件。
gcc -o program program.o bill.o
這種方法我們一般都知道。
下面我們把bill.o 和 fred.o編譯到靜態庫里。用ar命令。具體怎么用可以去查下。
ar crv libfoo.a bill.o fred.o
ar創建歸檔文件;AR = AR=/usr/local/ndk/toolchain/arm-eabi/bin/arm-eabi-ar
crv為參數。
libfoo.a為目標庫,后面是生成庫所用文件夾;
然后就可以看到libfoo.a,這個時候我們要用ranlib來對靜態庫的符號索引表進行更新;
ranlib libfoo.a
然后可以用這個庫了
gcc -o program program.o libfoo.a
也可以用
gcc -o program program.o -L. lfoo
-L指定路徑,要全路徑,.是當前路徑。
轉載于:https://blog.51cto.com/yxc6123/946015
總結
以上是生活随笔為你收集整理的关于linux下制作静态库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: viewDidLoad等相关函数调用
- 下一篇: linux 其他常用命令