linux下交叉编译arm平台二进制elf文件

来源:互联网 发布:上海黄金交易所软件下载 编辑:程序博客网 时间:2024/05/16 22:08

交叉编译还是用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不需要扩展名)