【问题标题】:android_build.sh gives error while building ffmpeg libraryandroid_build.sh 在构建 ffmpeg 库时出错
【发布时间】:2026-02-11 06:10:02
【问题描述】:

我正在尝试构建 ffmpeg 库,我的 android_build.sh 如下所示

  #!/bin/bash
   NDK=C:/Users/Benzatine/Downloads/android-ndk-r10e
   SYSROOT=$NDK/platforms/android-18/arch-arm/
   TOOLCHAIN=$NDK/toolchains//arm-linux-androideabi-4.8/prebuilt/windows-x86_64
   function build_one
   {
     ./configure \
     --arch=arm \
      --target-os=linux \
--enable-runtime-cpudetect \
--enable-pic \
--disable-shared \
--enable-static \
--extra-cflags='-march=armv6' \
--extra-ldflags="$ADDI_LDFLAGS" \
--enable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver\
--disable-network \
--enable-cross-compile \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$SYSROOT \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make -j4
 make install
 }
CPU=arm
PREFIX=$(pwd)/android/$CPU 
 ADDI_CFLAGS="-marm"
 build_one

但是当我尝试执行时它总是出错

错误是

    /android_build.sh: line 5: syntax error near unexpected token `$'\r''
    /android_build.sh: line 5: `function build_one()

我是新手,所以请任何人都可以帮助我解决这个问题

【问题讨论】:

    标签: android ffmpeg android-ndk window


    【解决方案1】:

    将 example.sh 文件转换为 unix 的简单方法是使用 NotePad++(编辑>EOL 转换>UNIX/OSX 格式)

    您也可以在notepad++中设置默认EOL(设置>首选项>新建文档/默认目录>在格式框下选择Unix/OSX)

    参考-syntax error near unexpected token `$'in\r''

    我用过这个。它更早地解决了我的问题。

    【讨论】: