首先
gcc -c -fpic libst.c
生成 libst.o
然後gcc -shared -fpic -o libst.so libst.o
生成 libst.so 動態鏈結庫
注意-fpic選項。pic指position independent code。共享庫要求有此選項,以便實現動態連線(dynamic linking)
把libst.so拷貝到系統預設庫目錄下,比如 /lib, /usr/lib 下
假定你有 test.c 要引用這個庫
gcc -lst -o test test.c
然後就可以了
假如不能把libst.so拷貝到預設庫目錄下,比方說放在了
/home/aaa/lib 下
那麼就用這樣的語句來編譯test.c
gcc -l/home/aaa/lib -lst -wl,-rpath=/home/aaa/lib -o test test.c
AS編譯c c 生成so檔案
本文講如何用androidstudio生成so檔案 1.新建乙個android專案 2.新建乙個類,並新增native方法 3.生成class檔案4.開啟as的命令終端,輸入命令生成.h檔案 do not edit this file it is machine generated include ...
GCC編譯生成動態鏈結庫 so檔案
動態庫 so在linux下用c和c 程式設計時經常會碰到,最近在 找了幾篇文章介紹動態庫的編譯和鏈結,總算搞懂了這個之前一直不太了解得東東,這裡做個筆記,也為其它正為動態庫鏈結庫而苦惱的兄弟們提供一點幫助。1 動態庫的編譯 下面通過乙個例子來介紹如何生成乙個動態庫。這裡有乙個標頭檔案 so test...
使用Android Studio編譯so庫
android版本 3.4 ndk版本 17.1.48 因為之前專案的原因,接觸到了jni呼叫c 這種提高效能的程式設計方式,所以一直想研究研究,正好這幾天有空,所以就動手實踐了一下。開啟project structure檢視ndk路徑,如下圖 經ndk location加到環境變數裡就行了,在環境...