CMake交叉編譯

Android交叉編譯

準(zhǔn)備Android Toolchain

這里我們需要的是Android Standalone的toolchain,生成方法可以參考
Mastering Android NDK Build System - Part 1: Techniques with ndk-build
Mastering Android NDK Build System - Part 2: Standalone toolchain

準(zhǔn)備cross-compiling的toolchain file

編寫android_armv7a.cmake

# this is required
set( CMAKE_SYSTEM_NAME Android )

# specify the cross compiler
set( CMAKE_ANDROID_ARCH_ABI armeabi-v7a )
set( CMAKE_ANDROID_ARM_NEON ON )
set( CMAKE_ANDROID_STANDALONE_TOOLCHAIN d:/project/WifiCam/WificamSDK/tool/toolchain/arm)

注意凉泄,第一個(gè)set的CMAKE_SYSTEM_NAME是非常重要的,只有設(shè)置了(比如目前的Android)劳较,CMake才會(huì)認(rèn)為是在做交叉編譯

編寫CMakeLists.txt

按照正常情況編寫好CMakeLists.txt

cmake_minimum_required( VERSION 3.7 )
project( speexdsp )

set( SPEEXDSP_FLAGS "-DFIXED_POINT -DUSE_KISS_FFT -DEXPORT=\"\" -UHAVE_CONFIG_H" )
set( CMAKE_C_FLAGS ${SPEEXDSP_FLAGS} )
set( CMAKE_CXX_FLAGS ${SPEEXDSP_FLAGS} )

set( speexdsp_src src1.c src2.c )

include_directories( header_dir1 header_dir2 )

add_library( speexdsp SHARED ${speexdsp_src} )
target_link_libraries( speexdsp log )

進(jìn)行交叉編譯

使用cmake-gui

設(shè)置好source codebuild dir后驹止, Configure的時(shí)候浩聋,需要選擇第三個(gè)選項(xiàng)


然后下一步,指定我們?cè)诘诙骄帉懞玫?code>android_arm.cmake
然后再Generate就可以了

使用cmake cmd

cd build
cmake ../src -DCMAKE_TOOLCHAIN_FILE=/d/config/android_arm.cmake

在我自己的Windos7上臊恋,如果使用cmake cmd的方式會(huì)出現(xiàn)

-- Building for: Visual Studio 14 2015
CMake Error at CMakeLists.txt:1 (project):
  CMAKE_SYSTEM_NAME is 'Android' but 'NVIDIA Nsight Tegra Visual Studio
  Edition' is not installed.

我自己需要把上述兩種方法做結(jié)合衣洁,先用cmake-gui來指定android_arm.cmake,然后在cmd下執(zhí)行抖仅,這樣才不會(huì)有問題坊夫,目前還不知道要如何解決此問題(單獨(dú)使用cmake-gui也是不過的,必須兩種結(jié)合使用)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末撤卢,一起剝皮案震驚了整個(gè)濱河市环凿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌放吩,老刑警劉巖智听,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渡紫,居然都是意外死亡到推,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門惕澎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來莉测,“玉大人,你說我怎么就攤上這事唧喉〉仿保” “怎么了忍抽?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長董朝。 經(jīng)常有香客問我梯找,道長,這世上最難降的妖魔是什么益涧? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任锈锤,我火速辦了婚禮,結(jié)果婚禮上闲询,老公的妹妹穿的比我還像新娘久免。我一直安慰自己,他們只是感情好扭弧,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布阎姥。 她就那樣靜靜地躺著,像睡著了一般鸽捻。 火紅的嫁衣襯著肌膚如雪呼巴。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天御蒲,我揣著相機(jī)與錄音衣赶,去河邊找鬼。 笑死厚满,一個(gè)胖子當(dāng)著我的面吹牛府瞄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碘箍,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼遵馆,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了丰榴?” 一聲冷哼從身側(cè)響起货邓,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎四濒,沒想到半個(gè)月后换况,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡峻黍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年复隆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姆涩。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挽拂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出骨饿,到底是詐尸還是另有隱情亏栈,我是刑警寧澤台腥,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站绒北,受9級(jí)特大地震影響黎侈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜闷游,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一峻汉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧脐往,春花似錦休吠、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至梅尤,卻和暖如春柜思,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背巷燥。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國打工赡盘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人矾湃。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓亡脑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親邀跃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

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

  • 在命令行下用CMake交叉編譯可在android中運(yùn)行的so包 最近在寫一個(gè)通過錄屏生成gif的小應(yīng)用蛙紫,由于要用到...
    MingHuang1024閱讀 2,010評(píng)論 0 0
  • 交叉編譯簡介 簡單地說拍屑,就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。同一個(gè)體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng)坑傅;同樣僵驰,...
    Pokerpoke閱讀 11,165評(píng)論 0 2
  • 羅列一下cmake常用的命令。 CMake支持大寫唁毒、小寫蒜茴、混合大小寫的命令。 1. 添加頭文件目錄INCLUDE_...
    linux服務(wù)器開發(fā)閱讀 1,827評(píng)論 1 0
  • 向您的項(xiàng)目添加 C 和 C++ 代碼 本文內(nèi)容 下載 NDK 和構(gòu)建工具 創(chuàng)建支持 C/C++ 的新項(xiàng)目 構(gòu)建和運(yùn)...
    會(huì)飛的大象_閱讀 3,762評(píng)論 0 3
  • 第1章 事故 我只是一個(gè)普通人浆西,后來之所以會(huì)走上‘煉尸尋人’這條路粉私,完全是一種巧合。 接下來我要講述和記錄的事近零,看...
    乖乖小歪歪閱讀 524評(píng)論 0 0