ZLMediakit iOS版編譯小記

開篇: ZLMediaKit 你值得擁有
閑話不表贯被,直接上代碼

1鞭光、下載項(xiàng)目源文件,初始化項(xiàng)目依賴

git clone https://gitee.com/xiahcu/ZLMediaKit
cd ZLMediaKit
#千萬不要忘記執(zhí)行這句命令(wiki原文)
git submodule update --init

2笋庄、創(chuàng)建build目錄

cd ZLMediaKit
mkdir -p build
cd build

如果需要支持flash播放器效扫,或者要實(shí)現(xiàn)rtmps、rtsps直砂、wss荡短、https方式推拉流 需要在編譯時(shí)導(dǎo)入openssl,如果只需要支持rtmp、rtsp哆键、ws、http請(qǐng)直接跳至第5步

3瘦锹、編譯arm64架構(gòu) openssl

3.1下載openssl

點(diǎn)擊下載openssl-1.1.1g.tar.gz
要編譯其他版本可以在官網(wǎng)選擇

3.2下載編譯腳本

$ cd ..
$ mkdir  shel
$ git clone https://github.com/gitusrs/openssl-ios-build-shell-script.git
$ git clone 

3.3優(yōu)化腳本

解壓后打開 openssl-build.sh
找到"OPENSSL_COMPRESSED_FN"設(shè)置待解壓文件如下:

OPENSSL_COMPRESSED_FN="openssl-1.1.1g.tar.gz"

找到 ARCH_LIST=("armv7" "armv7s" "arm64" "i386" "x86_64")
腳本默認(rèn)編譯以上所有架構(gòu)籍嘹,我們只需要arm64,因此只保留arm64

ARCH_LIST=("arm64")

將下載的openssl壓縮文件openssl-1.1.1g.tar.gz 和 openssl-build.sh 放在同一個(gè)文件夾,本例文件夾為openssl-ios-build-shell-script

3.4執(zhí)行腳本

$ ./openssl-build.sh

等編譯完成弯院,打開openssl-1.1.1g-build文件夾辱士,里面就有arm64架構(gòu)的openssl

4修改cmake配置文件

進(jìn)入ZLMediaKit文件夾,打開CMakeLists.txt
將編譯好的arm64架構(gòu)的openssl 頭文件路徑,以及兩個(gè).a文件的路徑听绳,導(dǎo)入zlmtoolkit的依賴
找到"#查找openssl是否安裝"
將它下方部分代碼

find_package(OpenSSL QUIET)
if (OPENSSL_FOUND AND ENABLE_OPENSSL)
    message(STATUS "found library:${OPENSSL_LIBRARIES},ENABLE_OPENSSL defined")
    include_directories(${OPENSSL_INCLUDE_DIR})
    add_definitions(-DENABLE_OPENSSL)
    list(APPEND LINK_LIB_LIST ${OPENSSL_LIBRARIES})
else()
    message(WARNING "openssl未找到颂碘,rtmp將不支持flash播放器锅劝,https/wss/rtsps/rtmps也將失效")
endif ()

替換成

#find_package(OpenSSL QUIET)
#if (ENABLE_OPENSSL)
    message(STATUS "found library:${OPENSSL_LIBRARIES},ENABLE_OPENSSL defined")
    include_directories("/Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/include")
    add_definitions(-DENABLE_OPENSSL)
    list(APPEND LINK_LIB_LIST "/Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/lib/libssl.a")
    list(APPEND LINK_LIB_LIST "/Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/lib/libcrypto.a")
#else()
 #   message(WARNING "openssl未找到,rtmp將不支持flash播放器乒融,https/wss/rtsps/rtmps也將失效")
#endif ()

其中
/Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/include
為頭文件目錄
/Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/lib/libssl.a /Users/mihuasama/Desktop/shel/openssl-ios-build-shell-script/openssl-1.1.1g-build/arm64/lib/libcrypto.a
為引入的靜態(tài)庫

5進(jìn)入build目錄劲赠,開始編譯

cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=../cmake/ios.toolchain.cmake  -DPLATFORM=OS64COMBINED

編譯完成后,build目錄下就是我們需要的iOS版ZLMediaKit峡竣。


正文完


tips

沒有設(shè)置openssl路徑靠抑,直接執(zhí)行第五步,在編譯時(shí)會(huì)有一次warning,如果確實(shí)不需要适掰,忽略即可

CMake Warning at CMakeLists.txt:66 (message):
openssl未找到颂碧,rtmp將不支持flash播放器,https/wss/rtsps/rtmps也將失效
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末类浪,一起剝皮案震驚了整個(gè)濱河市载城,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌费就,老刑警劉巖诉瓦,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異受楼,居然都是意外死亡垦搬,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門艳汽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來猴贰,“玉大人,你說我怎么就攤上這事河狐∶兹疲” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵馋艺,是天一觀的道長(zhǎng)栅干。 經(jīng)常有香客問我,道長(zhǎng)捐祠,這世上最難降的妖魔是什么碱鳞? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮踱蛀,結(jié)果婚禮上窿给,老公的妹妹穿的比我還像新娘。我一直安慰自己率拒,他們只是感情好崩泡,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著猬膨,像睡著了一般角撞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天谒所,我揣著相機(jī)與錄音热康,去河邊找鬼。 笑死百炬,一個(gè)胖子當(dāng)著我的面吹牛褐隆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播剖踊,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼庶弃,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了德澈?” 一聲冷哼從身側(cè)響起歇攻,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎梆造,沒想到半個(gè)月后缴守,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡镇辉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年屡穗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片忽肛。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡村砂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出屹逛,到底是詐尸還是另有隱情础废,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布罕模,位于F島的核電站评腺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏淑掌。R本人自食惡果不足惜蒿讥,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抛腕。 院中可真熱鬧诈悍,春花似錦、人聲如沸兽埃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柄错。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間售貌,已是汗流浹背给猾。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留颂跨,地道東北人敢伸。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像恒削,于是被迫代替她去往敵國和親池颈。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359