NDK 引用編譯第三方庫

如上篇所說涯曲,使用NDK生成的獨(dú)立工具鏈可以編譯第三方庫敢靡,生成獨(dú)立工具鏈見google文檔:獨(dú)立工具鏈

下面展示了使用此腳本的示例:

$NDK/build/tools/make-standalone-toolchain.sh --arch=arm --platform=android-21 --install-dir=/tmp/my-android-toolchain

默認(rèn)情況下,構(gòu)建系統(tǒng)使用 32 位址晕、基于 ARM 的 GCC 4.8 工具鏈誊稚。不過,您可以通過將?--arch=<toolchain>?指定為選項(xiàng)來指定一個(gè)不同的值倒脓。表 3 顯示將用于其他工具鏈的值:

使用?--arch撑螺。

工具鏈值

mips64 編譯器--arch=mips64

mips GCC 4.8 編譯器--arch=mips

x86 GCC 4.8 編譯器--arch=x86

x86_64 GCC 4.8 編譯器--arch=x86_64

mips GCC 4.8 編譯器--arch=mips

下面根據(jù)生成的獨(dú)立工具鏈,來編譯我們自己的C/C++代碼并引入ndk編譯后的第三方庫崎弃。我們?yōu)楣こ虒懸粋€(gè)cmake甘晤,如下CMakeList.txt:

cmake_minimum_required(VERSION 3.5)

project(EXMAPLE)

set(CMAKE_C_STANDARD 99)

set(UPLOAD_ROOT ${PROJECT_SOURCE_DIR})

set(CMAKE_C_FLAGS? "${CMAKE_C_FLAGS} -pie -fPIE")

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie -fPIE")

set(PLATFROM_BUILD_TYPE "Android")

set(TOOL_CHAIN_GCC_ROOT /tmp/ndk_tool)

message(STATUS "build ${PLATFORM} lib")

set(CMAKE_SYSTEM_NAME Android)

set(CMAKE_AR? ? ? ? ? ? ${TOOL_CHAIN_GCC_ROOT}/bin/arm-linux-androideabi-ar)

set(CMAKE_ASM_COMPILER? ${TOOL_CHAIN_GCC_ROOT}/bin/arm-linux-androideabi-as)

set(CMAKE_RANLIB? ? ? ? ${TOOL_CHAIN_GCC_ROOT}/bin/arm-linux-androideabi-ranlib)

set(CMAKE_C_COMPILER? ? ${TOOL_CHAIN_GCC_ROOT}/bin/arm-linux-androideabi-clang)

set(CMAKE_CXX_COMPILER? ${TOOL_CHAIN_GCC_ROOT}/bin/arm-linux-androideabi-clang++)

set(MDSPEECH_STRIP ${TOOL_CHAIN_GCC_ROOT}/bin/aarch64-openwrt-linux-gnu-strip)

set(CMAKE_FIND_ROOT_PATH ${TOOL_CHAIN_GCC_ROOT})

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)

set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)

set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

message(STATUS "Build example demo...")

include_directories(./include ./include/libwebsockets ./include/mbedtls ./include/uv)

add_executable(example_demo ./src/network_lws.c)

target_link_libraries(example_demo?${UPLOAD_ROOT}/lib/libwebsockets.so

${UPLOAD_ROOT}/lib/libmbedtls.so

${UPLOAD_ROOT}/lib/libmbedcrypto.a

${UPLOAD_ROOT}/lib/libmbedx509.a

${UPLOAD_ROOT}/lib/libuv.so

libc.so)

message(STATUS "Build example demo done")

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市饲做,隨后出現(xiàn)的幾起案子线婚,更是在濱河造成了極大的恐慌,老刑警劉巖盆均,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件塞弊,死亡現(xiàn)場離奇詭異,居然都是意外死亡泪姨,警方通過查閱死者的電腦和手機(jī)游沿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肮砾,“玉大人诀黍,你說我怎么就攤上這事≌檀Γ” “怎么了眯勾?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長婆誓。 經(jīng)常有香客問我吃环,道長,這世上最難降的妖魔是什么洋幻? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任郁轻,我火速辦了婚禮,結(jié)果婚禮上鞋屈,老公的妹妹穿的比我還像新娘范咨。我一直安慰自己故觅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布渠啊。 她就那樣靜靜地躺著输吏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪替蛉。 梳的紋絲不亂的頭發(fā)上贯溅,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天,我揣著相機(jī)與錄音躲查,去河邊找鬼它浅。 笑死,一個(gè)胖子當(dāng)著我的面吹牛镣煮,可吹牛的內(nèi)容都是我干的姐霍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼典唇,長吁一口氣:“原來是場噩夢啊……” “哼镊折!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起介衔,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤恨胚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后炎咖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赃泡,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年乘盼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了升熊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,438評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绸栅,死狀恐怖僚碎,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情阴幌,我是刑警寧澤,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布卷中,位于F島的核電站矛双,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蟆豫。R本人自食惡果不足惜议忽,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望十减。 院中可真熱鬧栈幸,春花似錦愤估、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至芍锚,卻和暖如春昔园,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背并炮。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工默刚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人逃魄。 一個(gè)月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓荤西,卻偏偏與公主長得像,于是被迫代替她去往敵國和親伍俘。 傳聞我的和親對象是個(gè)殘疾皇子邪锌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容