http://download.csdn.net/detail/youngc527/5946065

解决方案 »

  1.   

    我用了你编译的静态库,怎么一直说找不到函数Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
    Gdbsetup       : libs/armeabi/gdb.setup
    Compile thumb  : H264Android <= H264Android.c
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c: In function 'Java_HttpCamera_HttpJniNative_O     utFrameData':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:414: warning: passing argument 2 of 'sws_scal     e' from incompatible pointer type
    F:/shc_work/svn_android/kedao_laoren8.15/jni/ffmpeg/libswscale/swscale.h:226: note: expected 'const uint     8_t * const*' but argument is of type 'uint8_t **'
    SharedLibrary  : libH264Android.so
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `Java_HttpCamera_HttpJniNative_init':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:246: undefined reference to `av_register_all'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:249: undefined reference to `avcodec_find_dec     oder'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:257: undefined reference to `avcodec_alloc_co     ntext3'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:264: undefined reference to `avcodec_open2'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:267: undefined reference to `avcodec_alloc_fr     ame'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:276: undefined reference to `av_init_packet'
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `Java_HttpCamera_HttpJniNative_finit':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:306: undefined reference to `avcodec_close'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:312: undefined reference to `av_free'
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `InitPicture':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:331: undefined reference to `avcodec_alloc_fr     ame'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:337: undefined reference to `avpicture_get_si     ze'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:338: undefined reference to `av_malloc'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:339: undefined reference to `avpicture_fill'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:340: undefined reference to `sws_getContext'
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `FreePicture':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:349: undefined reference to `av_free'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:353: undefined reference to `av_free'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:356: undefined reference to `sws_freeContext'
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `DecodeH264':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:373: undefined reference to `avcodec_decode_v     ideo2'
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `Java_HttpCamera_HttpJniNative_OutFrameData':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:414: undefined reference to `sws_scale'
    collect2: ld returned 1 exit status
    /cygdrive/c/android-ndk-r5/build/core/build-binary.mk:266: recipe for target `/cygdrive/f/shc_work/svn_a     ndroid/kedao_laoren8.15/obj/local/armeabi/libH264Android.so' failed
    make: *** [/cygdrive/f/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/libH264Android.so] Error      1
      

  2.   

    我用了你编译的静态库,怎么一直说找不到函数Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
    Gdbsetup       : libs/armeabi/gdb.setup
    Compile thumb  : H264Android <= H264Android.c
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c: In function 'Java_HttpCamera_HttpJniNative_O     utFrameData':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:414: warning: passing argument 2 of 'sws_scal     e' from incompatible pointer type
    F:/shc_work/svn_android/kedao_laoren8.15/jni/ffmpeg/libswscale/swscale.h:226: note: expected 'const uint     8_t * const*' but argument is of type 'uint8_t **'
    SharedLibrary  : libH264Android.so
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `Java_HttpCamera_HttpJniNative_init':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:246: undefined reference to `av_register_all'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:249: undefined reference to `avcodec_find_dec     oder'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:257: undefined reference to `avcodec_alloc_co     ntext3'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:264: undefined reference to `avcodec_open2'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:267: undefined reference to `avcodec_alloc_fr     ame'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:276: undefined reference to `av_init_packet'
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `Java_HttpCamera_HttpJniNative_finit':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:306: undefined reference to `avcodec_close'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:312: undefined reference to `av_free'
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `InitPicture':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:331: undefined reference to `avcodec_alloc_fr     ame'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:337: undefined reference to `avpicture_get_si     ze'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:338: undefined reference to `av_malloc'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:339: undefined reference to `avpicture_fill'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:340: undefined reference to `sws_getContext'
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `FreePicture':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:349: undefined reference to `av_free'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:353: undefined reference to `av_free'
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:356: undefined reference to `sws_freeContext'
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `DecodeH264':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:373: undefined reference to `avcodec_decode_v     ideo2'
    F:/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/objs-debug/H264Android/H264Android.o: In func     tion `Java_HttpCamera_HttpJniNative_OutFrameData':
    F:/shc_work/svn_android/kedao_laoren8.15/jni/H264Android.c:414: undefined reference to `sws_scale'
    collect2: ld returned 1 exit status
    /cygdrive/c/android-ndk-r5/build/core/build-binary.mk:266: recipe for target `/cygdrive/f/shc_work/svn_a     ndroid/kedao_laoren8.15/obj/local/armeabi/libH264Android.so' failed
    make: *** [/cygdrive/f/shc_work/svn_android/kedao_laoren8.15/obj/local/armeabi/libH264Android.so] Error      1
      

  3.   

    我一直都用0.10.x的版本,2.0版本的我没试过,编译脚本用的同一个,想来问题不大吧,在引用ffmpeg库的时候链接顺序很重要,否则会出现上面的问题,我用的顺序是:LOCAL_LDLIBS := -lz -lswresample -lswscale -lswresample -lavformat -lavcodec -lavutil
      

  4.   

    赐教问题,我编译ffmpeg2.0的时候,我配置ndk正确,测试hello-jni生成了so。
    但是我编译ffmpeg的时候执行,config.sh一直提示没这个命令。找不到目录!
     ./config.sh
    Unknown option "".
    See ./configure --help for available options.
    ./config.sh: line 6: --target-os=linux: command not found
    ./config.sh: line 7: --arch=arm: command not found
    ./config.sh: line 8: --disable-ffmpeg: command not found
    ./config.sh: line 9: --disable-ffplay: command not found
    ./config.sh: line 10: --disable-ffprobe: command not found
    ./config.sh: line 11: --disable-ffserver: command not found
    ./config.sh: line 12: --disable-avdevice: command not found
    ./config.sh: line 13: --disable-avfilter: command not found
    ./config.sh: line 14: --disable-postproc: command not found
    ./config.sh: line 15: --disable-swresample: command not found
    ./config.sh: line 16: --disable-avresample: command not found
    ./config.sh: line 17: --disable-symver: command not found
    ./config.sh: line 18: --disable-debug: command not found
    ./config.sh: line 19: --disable-stripping: command not found
    ./config.sh: line 20: --disable-yasm: command not found
    ./config.sh: line 21: --disable-asm: command not found
    ./config.sh: line 22: --enable-gpl: command not found
    ./config.sh: line 23: --enable-version3: command not found
    ./config.sh: line 24: --enable-nonfree: command not found
    ./config.sh: line 25: --disable-doc: command not found
    ./config.sh: line 26: --enable-static: command not found
    ./config.sh: line 27: --disable-shared: command not found
    ./config.sh: line 28: --enable-cross-compile: command not found
    ./config.sh: line 29: --prefix=/home/android/ffmpeg: No such file or directory
    ./config.sh: line 30: --cc=/home/user_shc/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/pr                     ebuilt/linux-x86/bin/arm-linux-androideabi-gcc: No such file or directory
    ./config.sh: line 31: --cross-prefix=/home/user_shc/android-ndk-r8b/toolchains/arm-linux-androide                     abi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-: No such file or directory
    ./config.sh: line 32: --nm=/home/user_shc/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/pr                     ebuilt/linux-x86/bin/arm-linux-androideabi-nm: No such file or directory
    ./config.sh: line 33: --extra-cflags=-fPIC -DANDROID -I/home/user_shc/android-ndk-r8b/platforms/a                     ndroid-14/arch-arm/usr/include: No such file or directory
    ./config.sh: line 34: --extra-ldflags=-L/home/user_shc/android-ndk-r8b/platforms/android-14/arch-                     arm/usr/lib -nostdlib: No such file or directory
    [user_shc@localhost ffmpeg]$ vim config.sh
    [user_shc@localhost ffmpeg]$ chmod +x config.sh
    [user_shc@localhost ffmpeg]$ ./config.sh
    Unknown option "".
    See ./configure --help for available options.
    ./config.sh: line 6: --target-os=linux: command not found
    ./config.sh: line 7: --arch=arm: command not found
    ./config.sh: line 8: --disable-ffmpeg: command not found
    ./config.sh: line 9: --disable-ffplay: command not found
    ./config.sh: line 10: --disable-ffprobe: command not found
    ./config.sh: line 11: --disable-ffserver: command not found
    ./config.sh: line 12: --disable-avdevice: command not found
    ./config.sh: line 13: --disable-avfilter: command not found
    ./config.sh: line 14: --disable-postproc: command not found
    ./config.sh: line 15: --disable-swresample: command not found
    ./config.sh: line 16: --disable-avresample: command not found
    ./config.sh: line 17: --disable-symver: command not found
    ./config.sh: line 18: --disable-debug: command not found
    ./config.sh: line 19: --disable-stripping: command not found
    ./config.sh: line 20: --disable-yasm: command not found
    ./config.sh: line 21: --disable-asm: command not found
    ./config.sh: line 22: --enable-gpl: command not found
    ./config.sh: line 23: --enable-version3: command not found
    ./config.sh: line 24: --enable-nonfree: command not found
    ./config.sh: line 25: --disable-doc: command not found
    ./config.sh: line 26: --enable-static: command not found
    ./config.sh: line 27: --disable-shared: command not found
    ./config.sh: line 28: --enable-cross-compile: command not found
    ./config.sh: line 29: --prefix=/home/user_shc/android-ffmpeg/jni/ffmpeg: No such file or directory
    ./config.sh: line 30: --cc=/home/user_shc/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: No such file or directory
    ./config.sh: line 31: --cross-prefix=/home/user_shc/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-: No such file or directory
    ./config.sh: line 32: --nm=/home/user_shc/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-nm: No such file or directory
    ./config.sh: line 33: --extra-cflags=-fPIC -DANDROID -I/home/user_shc/android-ndk-r8b/platforms/android-14/arch-arm/usr/include: No such file or directory
    ./config.sh: line 34: --extra-ldflags=-L/home/user_shc/android-ndk-r8b/platforms/android-14/arch-arm/usr/lib -nostdlib: No such file or directoryconfig.sh :
    export PREBUILT=/home/user_shc/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6
    export PLATFORM=/home/user_shc/android-ndk-r8b/platforms/android-14/arch-arm
    export TMPDIR=/home/work/tmp
    ./configure \
    --target-os=linux \
    --arch=arm \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-ffserver \
    --disable-avdevice \
    --disable-avfilter \
    --disable-postproc \
    --disable-swresample \
    --disable-avresample \
    --disable-symver \
    --disable-debug \
    --disable-stripping \
    --disable-yasm \
    --disable-asm \
    --enable-gpl \
    --enable-version3 \
    --enable-nonfree \
    --disable-doc \
    --enable-static \
    --disable-shared \
    --enable-cross-compile \
    --prefix=/home/user_shc/android-ffmpeg/jni/ffmpeg \
    --cc=$PREBUILT/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc \
    --cross-prefix=$PREBUILT/prebuilt/linux-x86/bin/arm-linux-androideabi- \
    --nm=$PREBUILT/prebuilt/linux-x86/bin/arm-linux-androideabi-nm \
    --extra-cflags="-fPIC -DANDROID -I$PLATFORM/usr/include" \
    --extra-ldflags="-L$PLATFORM/usr/lib -nostdlib"
      

  5.   

    同求解答,搞了几点都木有在win7+cygwin下编译成功