не удалось создать файл библиотеки ffmpeg libxxx.so - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь собрать библиотеку ffmpeg для android в windows 10, используя cygwin. Мне удалось собрать build_ android. sh, но получить файлы .so не удалось. Когда я запускаю build_ android. sh, я могу получить только два файла .so. Один - libavutil.so (0 байт), а другой - libavutil-56.so (3 МБ). Поэтому я попытался удалить 0-байтовый файл и скопировать его из libavutil-56.so в libavutil.so. И я попытался построить, но получил ошибку, как показано ниже. Нет сгенерированного файла libswscale.so. И я обнаружил что-то странное.

/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lavutil

нет папки lavutil (права libavutil), но сообщение указывает на lavutil. дайте мне знать, как это решить .. Я злюсь 2 недели.

все сообщение об ошибке

$ make
LD      libswscale/libswscale-5.so
/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/../../../../x86_64-pc-cygwin/bin/ld: cannot find -lavutil
collect2: error: ld returned 1 exit status
make: *** [ffbuild/library.mak:103: libswscale/libswscale-5.so] error1

build_ android. sh

NDK=C:/Users/ckdrb/AppData/Local/Android/Sdk/ndk-bundle
SYSROOT=$NDK/platforms/android-16/arch-arm
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
CPU=arm
 
ISYSROOT=$NDK/sysroot
ASM=$ISYSROOT/usr/include/arm-linux-androideabi
 
PREFIX=$(pwd)/android/$CPU
CUR=`cygpath -m $(pwd)`
TEMPDIR=`cygpath -m c:\Temp\Cygwin`
TMP=`cygpath -m c:\Temp\Cygwin`

function build_android
{

./configure \
    --target-os=linux \
    --prefix=$PREFIX \
    --enable-cross-compile \
    --enable-shared \
    --disable-static \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-avdevice \
    --disable-doc \
    --disable-symver \
    --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
    --arch=arm \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $ADDI_CFLAGS" \
    --extra-ldflags="$ADDI_CFLAGS" \
    $ADDITIONAL_CONFIGURE_FLAG    

make clean 
make -j4
make install
}
ADDI_CFLAGS="-marm" 
build_android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...