交叉编译还是用linux环境比较好,如果目标是window平台的VC,用MYSYS比较好,cygwin只是模式linux环境
交叉编译arm平台二进制文件,尤其是android上可用的二进制文件,最重要的参数是‘-static’ ,然后选择合适的交叉编译器,
congfig
make (漫长的等待)
或者make -j4 开四个线程编译(可能会出现某些问题)
make install
如果编译没有错误,就会在prefix指定的目录中就会生成arm平台的二进制文件了,
使用file filename 查看文件属性
#!/bin/sh
./configure --prefix=/home/wangsc/android-ffmpeg \
--cross-prefix=/usr/local/arm/bin/arm-none-linux-gnueabi- \
--target-os=linux \
--arch=arm \
--cpu=armv7-a \
--enable-neon \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--enable-runtime-cpudetect \
--extra-cflags='-static -fPIC -DANDROID -mfpu=neon -mfloat-abi=softfp -I/usr/local/libvpx/include' \
--extra-ldflags='-static -L/usr/local/libvpx/lib' \
--enable-static \
--enable-shared \
--enable-libvpx \
--enable-ffserver \
--enable-ffmpeg \
--disable-ffprobe \
--disable-doc \
--disable-debug \
--disable-w32threads \
完后adb push进android设备修改权限755就可以运行了,(注:android中只有/system/bin/ 和/data/目录下可以执行二进制文件,即elf文件。linux不需要扩展名)