c編譯生成so 庫

2021-07-26 05:50:45 字數 500 閱讀 3461

首先

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加到環境變數裡就行了,在環境...