CMAKE 之 FFmpeg 項目配置


##先設置變量
set(FFMPEG ${CMAKE_SOURCE_DIR}/ffmpeg)
set(RTMP ${CMAKE_SOURCE_DIR}/rtmp)

# 導入ffmpeg的頭文件
include_directories(${FFMPEG}/include)

#配置環(huán)境變量
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${FFMPEG}/libs/${CMAKE_ANDROID_ARCH_ABI}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${RTMP}/libs/${CMAKE_ANDROID_ARCH_ABI}")

#導入所有cpp 文件,
file(GLOB player *.cpp)

#動態(tài)庫
add_library(
      tsmplayer
      SHARED
      ${player})
find_library(
      log-lib
      log)
target_link_libraries( # Specifies the target library.
      tsmplayer

      # Links the target library to the log library
      # included in the NDK.
      # 忽略順序的方式,導入
      -Wl,--start-group
      avcodec avfilter avformat avutil swresample swscale
      -Wl,--end-group

      log # 日志庫,打印日志用的
      z # libz.so庫,是FFmpeg 的支持庫
      rtmp # rtmp 流媒體
      android # android 圖像處理
      OpenSLES # OpenSLES  native 音頻處理
      ${log-lib})

這里面一定要注意 / 分隔符的使用,稍有不慎就會各種報錯,而且這個錯誤提示的是告訴你找不到文件,如果看一些網上的文章很容易就深陷下去,搞得自己崩潰,別問我是怎么知道的,這個問題給我坑的不要不要的,

在配置CMAKE 文件之前還需要指定 NDK 的編譯以及打包版本
在build.gradle 文件

android{
  defaultConfig{
          externalNativeBuild {
          cmake {
              abiFilters "armeabi-v7a"
          }
      }
      ndk{
          abiFilters "armeabi-v7a"
      }    
  }
}

配置好信息后,就可以愉快的開發(fā) app 了,

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容