Linux下NDK編譯so庫

2021-09-18 05:57:36 字數 972 閱讀 8552

2、隨便在哪個目錄直接解壓

3、配置系統環境變數

#vim /etc/profile

在檔案末尾新增如下內容:

export android_ndk=「ndk路徑」

export path=「and

roid

ndk:

android_ndk:

androi

dn​d

k:1、建立jni目錄

#mkdir jni

2、新增檔案

#vim testc.h

#ifndef testc_h

#define testc_h

int testc();

#endif

#vim testc.cpp

#include "testc.h"

int testc()

#vim android.mk

//my-dir巨集返回android.mk所在位置 即將local_path賦值

local_path:=$(call my-dir)

//清理local_***變數的值

include $(clear_vars)

//模組名字

local_module :=testc

//打包給模組的c/c++原始碼 標頭檔案不用列出 此原始檔可以用具體路徑表示

local_src_files:=testc.cpp

//編譯輸出 static為靜態庫 shared為動態庫 build_executable為可執行程式

include $(build_shared_library)

3、編譯

#ndk-build

在jni目錄下執行該命令,會在jni同級目錄下生成libs,obj目錄,其中libs目錄下是編譯生成的so檔案

ndk 編譯 so檔案

使用ndk build編譯,如果windows需要cygwin環境,cygwin android ndk linux就好辦了 直接在專案路徑使用 ngk build指令碼就能編譯了 引用 一 準備工作 cygwin android ndk 二 安裝cygwin可以搜尋一下比較簡單。安裝時注意選擇包時...

Linux下編譯靜態庫 a 和動態庫 so

靜態庫 在linux環境中,使用ar命令建立靜態庫檔案.如下是命令的選項 d 從指定的靜態庫檔案中刪除檔案 m 把檔案移動到指定的靜態庫檔案中 p 把靜態庫檔案中指定的檔案輸出到標準輸出 q 快速地把檔案追加到靜態庫檔案中 r 把檔案插入到靜態庫檔案中 t 顯示靜態庫檔案中檔案的列表 x 從靜態庫檔...

Linux下簡單編譯so庫,呼叫另乙個so庫的方法

gcc fpic shared cat.c o libcat.so fpic是壓制警告 shared是生成動態庫 cat.c是要編譯的檔案 o是要生成的檔案的名稱 gcc rdynamic o main main.c ldl rdynamic是生成可執行檔案 o是生成的檔案的名稱 main.c是要編...