移植live555到android下遇到的問題

2021-06-16 12:19:43 字數 877 閱讀 8992

這幾天頗有些麻煩,為了做rtsp server,把live555移植到android下,通常的做法是寫乙個android.mk,放到android原始碼樹下,mm一下,就可以,但是我的老出一堆錯誤,而我在單獨的ndk下編譯,竟然正常,就在清閒一些的時候,靜下心來看看那些編譯錯誤的提示,原來是沒找到那幾個c++的庫,在ndk下編譯器會自動給加上,而在android的原始碼樹下就要自己給加上了,如下:

local_ldflags += $(local_path)/../../prebuilts/ndk/android-ndk-r7/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/libsupc++.a \

$(local_path)/../../prebuilts/ndk/android-ndk-r7/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/libgnustl_static.a

我的live555目錄在/live555/jni/下所以要兩個../

$(local_path)是個很重要的東西,它告訴編譯器要鏈結的庫所在的路徑,是相對當前路徑的路徑

讓我走入迷途的是編譯器報的一大堆錯誤,我看了後面的,在網上一搜尋,答案大相徑庭,說什麼用gcc編譯了c++的**,其實android在編譯的時候是知道用相應的工具來編譯的。看來面對編譯的錯誤找原因要從前幾個開始,而不要從最後幾個錯誤看起,那些錯誤有時候是亂報的。我把前幾個錯誤解決了,後面的一大堆錯誤都沒了。

local_ldflags與local_ldlibs的區別是後者看起來像這樣:「-l$(local_path)/../../prebuilts/ndk/android-ndk-r7/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a -lsupc++」

live555原始碼分析 live555大致流程

今天大致分析了下live555的流程,以h264為例子進行的分析.從連線到傳送rtp rtcp資料報。首先分析呢,不能太關注細節,先整體再區域性。在分析的過程中,設計到live555自己封裝的乙個高階類 比如迭代器,雜湊表,而且這2個類在live555中運用的範圍還非常的廣,但是無不例外都是用鍊錶進...

Live555平台搭建與移植

專案環境說明 移植過程 2.pc端解壓 tar zxvf live555 latest.tar.gz 3.pc linux端 編譯及測試 使用配置檔案為 config.linux 生成makefile genmakefiles linux 編譯 make 在mediaserver目錄下放置乙個用於測...

Live555學習筆記

live555原始碼 官網 關於live555編譯 linux編譯 1.進入live555目錄 cd live 2.執行genmakefiles檔案 genmakefiles linux 3.makefile windows編譯 無關於入口函式 標頭檔案位置 無 原始檔位置 mediaserver ...