./configure --target-os=android --prefix=$PREFIX \
--enable-cross-compile --enable-runtime-cpudetect --disable-asm --arch=arm \
--cc=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-gcc \
--cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi- \
--disable-stripping --nm=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-nm --sysroot=$PLATFORM --enable-gpl --enable-shared --disable-static --enable-small --disable-ffprobe --disable-ffplay --disable-ffmpeg --disable-ffserver --disable-debug --extra-cflags="-fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a"
这是输出日志:
Makefile:2: config.mak: 没有那个文件或目录
Makefile:67: /common.mak: 没有那个文件或目录
Makefile:109: /libavutil/Makefile: 没有那个文件或目录
Makefile:109: /library.mak: 没有那个文件或目录
Makefile:111: /doc/Makefile: 没有那个文件或目录
Makefile:198: /tests/Makefile: 没有那个文件或目录
make: *** No rule to make target '/tests/Makefile'。 停止。
/opt/android/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc is unable to create an executable file.
C compiler test failed.
If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solve the problem.
但我的gcc路径运行正常
/opt/android/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc
arm-linux-androideabi-gcc:致命错误:没有输入文件
编译终止。
我似乎没有创建临时文件,我无法在/ tmp
中找到临时文件这是config.log文件的结尾:
dition: defined __ARM_ARCH_6T2__ || defined __TARGET_ARCH_6T2"
^
compilation terminated due to -Wfatal-errors.
check_cpp_condition stddef.h defined __ARM_ARCH_7__ || defined __TARGET_ARCH_7
check_cpp
BEGIN /tmp/ffconf.FHwGDPbC.c
1 #include <stddef.h>
2 #if !(defined __ARM_ARCH_7__ || defined __TARGET_ARCH_7)
3 #error "unsatisfied condition: defined __ARM_ARCH_7__ || defined __TARGET_ARCH_7"
4 #endif
END /tmp/ffconf.FHwGDPbC.c
/opt/android/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=/opt/android/android-sdk-linux/ndk-bundle/platforms/android-arm -isysroot /opt/android/android-sdk-linux/ndk-bundle/platforms/android-arm -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a -E -o /tmp/ffconf.csA8Jm6F.o /tmp/ffconf.FHwGDPbC.c
/tmp/ffconf.FHwGDPbC.c:3:2: error: #error "unsatisfied condition: defined __ARM_ARCH_7__ || defined __TARGET_ARCH_7"
#error "unsatisfied condition: defined __ARM_ARCH_7__ || defined __TARGET_ARCH_7"
^
compilation terminated due to -Wfatal-errors.
check_cpp_condition stddef.h defined __ARM_ARCH_7A__ || defined __TARGET_ARCH_7_A
check_cpp
BEGIN /tmp/ffconf.FHwGDPbC.c
1 #include <stddef.h>
2 #if !(defined __ARM_ARCH_7A__ || defined __TARGET_ARCH_7_A)
3 #error "unsatisfied condition: defined __ARM_ARCH_7A__ || defined __TARGET_ARCH_7_A"
4 #endif
END /tmp/ffconf.FHwGDPbC.c
/opt/android/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=/opt/android/android-sdk-linux/ndk-bundle/platforms/android-arm -isysroot /opt/android/android-sdk-linux/ndk-bundle/platforms/android-arm -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a -E -o /tmp/ffconf.csA8Jm6F.o /tmp/ffconf.FHwGDPbC.c
check_ld cc
check_cc
BEGIN /tmp/ffconf.FHwGDPbC.c
1 int main(void){ return 0; }
END /tmp/ffconf.FHwGDPbC.c
/opt/android/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=/opt/android/android-sdk-linux/ndk-bundle/platforms/android-arm -isysroot /opt/android/android-sdk-linux/ndk-bundle/platforms/android-arm -fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a -march=armv7-a -c -o /tmp/ffconf.csA8Jm6F.o /tmp/ffconf.FHwGDPbC.c
/opt/android/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=/opt/android/android-sdk-linux/ndk-bundle/platforms/android-arm -isysroot /opt/android/android-sdk-linux/ndk-bundle/platforms/android-arm -march=armv7-a -o /tmp/ffconf.fjKb0Qb0 /tmp/ffconf.csA8Jm6F.o
/opt/android/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: No such file or directory
/opt/android/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtend_android.o: No such file or directory
/opt/android/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -lc
/opt/android/android-sdk-linux/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot find -ldl
collect2: error: ld returned 1 exit status
C compiler test failed.
答案 0 :(得分:0)
默认NDK工具链不适合编译Autoconf项目。您需要按照here所述生成标准工具链。如果这没有帮助,你应该检查config.log
中的失败命令,看看到底出了什么问题(简单的gcc测试不会因链接引起的错误而有所帮助)。