cmake 编译ffmpeg的Android 的 so文件的cmake内容

立山  论坛元老 | 2025-1-12 23:20:54 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1029|帖子 1029|积分 3087

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

  • 确保你的开发环境已经设置好,包括安卓NDK和相应版本的FFmpeg源码。
  • 下载并配置FFmpeg源码。
    1. git clone https://git.ffmpeg.org/ffmpeg.git
    2. cd ffmpeg
    复制代码
  • 利用NDK-build大概cmake来编译FFmpeg。
5. 在ffmpeg路径下,新建build.sh , 下载MYSYS,安装好后,cd 到build.sh 所在路径。build.sh  中内容如下: 编译版本支持 :
  1. armeabi-v7a', 'arm64-v8a',  'x86_64'
复制代码
调整的自己的环境路径。
  1. #ndk工具链路径 -可配置
  2. #FFmpeg源码路径  修改成为自己的路劲
  3. SRC_DIR=E:/ffmpeg/ffmpeg
  4. DST_DIR=E:/ffmpeg/ffmpeg/build_an
  5. #NDK路径
  6. NDK=D:/Android/SDK/ndk/28.0.12433566/toolchains/llvm/prebuilt/windows-x86_64
  7. API=30
  8.  
  9. cd $SRC_DIR
  10.  
  11. function build_onearch
  12. {
  13.     echo ">> configure $CPU start"
  14.     ./configure \
  15.       --enable-cross-compile \
  16.       --enable-postproc   \
  17.       --enable-gpl    \
  18.       --target-os=android  \
  19.       --prefix=$DST_DIR/$ANDROID_ABI  \
  20.       --cross-prefix=$CROSS_PREFIX  \
  21.       --cc=$CC \
  22.       --cxx=$CXX \
  23.       --strip=$NDK/bin/llvm-strip \
  24.       --nm=$NDK/bin/llvm-nm \
  25.       --arch=$ARCH \
  26.       --sysroot=$NDK/sysroot \
  27.       --enable-shared --disable-static \
  28.       --enable-small --disable-programs --disable-doc \
  29.       --enable-asm --enable-neon \
  30.       --enable-jni --enable-mediacodec \
  31.       --disable-vulkan  #fatal error: 'vulkan_beta.h' file not found
  32.      --cpu=$CPU  \
  33.     echo "<< configure $CPU finish"
  34.     make clean
  35.     make
  36.     make install
  37. }
  38.  #编x86-64动态库
  39. ANDROID_ABI=x86-64
  40. CPU=x86_64
  41. ARCH=x86_64 
  42. CROSS_PREFIX=$NDK/bin/x86_64-linux/x64
  43. CC=${CROSS_PREFIX}clang
  44. CXX=${CROSS_PREFIX}clang++
  45. build_onearch
  46.  #编arm64-v8a动态库
  47. ANDROID_ABI=arm64-v8a
  48. ARCH=arm64
  49. CPU=armv8-a
  50. CROSS_PREFIX=$NDK/bin/aarch64-linux-android$API-
  51. CC=${CROSS_PREFIX}clang
  52. CXX=${CROSS_PREFIX}clang++
  53. build_onearch
  54.  #编armeabi-v7a动态库
  55. ANDROID_ABI=armeabi-v7a
  56. ARCH=arm
  57. CPU=armv7-a
  58. CROSS_PREFIX=$NDK/bin/armv7a-linux-androideabi$API-
  59. CC=${CROSS_PREFIX}clang
  60. CXX=${CROSS_PREFIX}clang++
  61. build_onearch
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表