参考http://wiki.videolan.org/AndroidCompile (which is for Linux)
1.工具
下载android-ndk-r8c 和 android-sdk-linux
2. 源码
git的vlc for android
root@ubuntu:/home/zhangbin/vlc_android/port_android# git clone git://git.videolan.org/vlc-ports/android.git
Cloning into 'android'...
remote: Counting objects: 14962, done.
remote: Compressing objects: 100% (4618/4618), done.
Receiving objects: 100% (14962/14962), 3.97 MiB | 43 KiB/s, done.
remote: Total 14962 (delta 8858), reused 12767 (delta 7451)
Resolving deltas: 100% (8858/8858), done.
root@ubuntu:/home/zhangbin/vlc_android/port_android# ls
android
root@ubuntu:/home/zhangbin/vlc_android/port_android# cd *
root@ubuntu:/home/zhangbin/vlc_android/port_android/android# ls
android-headers-gingerbread configure.sh gen-env.sh rename_package.sh
android-headers-hc COPYING java-libs vlc-android
android-headers-ics dump-libs.sh Makefile
android-libs find_modules.sh NEWS
compile.sh gcc patches
但是貌似这个并非是真正的源码,会自动的下载vlc core plugin 源码及一些依赖库。。。。。。。
如果有遇到问题,无法下载回来这些包,手动下载即可。
root@ubuntu:/home/zhangbin/vlc_android/port_android/android# sh compile.sh
For an ARMv6 device without FPU, you need a build without FPU:
$ export NO_FPU=1
For an ARMv5 device or the Android emulator, you need an ARMv5 build:
$ export NO_ARMV6=1
If you plan to use a release build, run 'compile.sh release'
VLC source not found, cloning
Cloning into 'vlc'...
remote: Counting objects: 391445, done.
remote: Compressing objects: 100% (79616/79616), done.
remote: Total 391445 (delta 315444), reused 384729 (delta 309986)
Receiving objects: 100% (391445/391445), 202.91 MiB | 95 KiB/s, done.
Resolving deltas: 100% (315444/315444), done.
Switched to a new branch 'android'
Applying the patches
Applying: libavcodec: add NEON runtime autodetection
Applying: libvlc: add language and frame rate to libvlc_media_track_info_t
Building the contribs
Guessing build system... i686-linux-gnu
Creating configuration file... config.mak
Bootstrap completed.
Run "make" to start compilation.
Other targets:
* make install same as "make"
* make prebuilt fetch and install prebuilt binaries
* make list list packages
* make fetch fetch required source tarballs
* make fetch-all fetch all source tarballs
* make distclean clean everything and undo bootstrap
* make mostlyclean clean everything except source tarballs
* make clean clean everything
* make package prepare prebuilt packages
curl -f -L -- "http://downloads.videolan.org/pub/videolan/testing/contrib/a52dec-0.7.4.tar.gz" > "../../contrib/tarballs/a52dec-0.7.4.tar.gz"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 235k 100 235k 0 0 12137 0 0:00:19 0:00:19 --:--:-- 64213
grep -- " a52dec-0.7.4.tar.gz$" "../../contrib/src/a52/SHA512SUMS" && (cd ../../contrib/tarballs && sha512sum --check /dev/stdin) < "../../contrib/src/a52/SHA512SUMS"
4b26fe9492f218b775fb190b76ecf06edaeb656adfe6dcbd24d0a0f86871c3ba917edb88a398eb12dccedaa1605b6f0a0be06b09f9fddd9a46e457b7dd244848 a52dec-0.7.4.tar.gz
a52dec-0.7.4.tar.gz: OK
touch .sum-a52
curl -f -L -- "http://libass.googlecode.com/files/libass-0.10.1.tar.gz" > "../../contrib/tarballs/libass-0.10.1.tar.gz"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:01:07 --:--:-- 0curl: (7) Failed to connect to 2404:6800:4008:c01::52: Network is unreachable
make: *** [../../contrib/tarballs/libass-0.10.1.tar.gz] Error 7
make: *** Deleting file `../../contrib/tarballs/libass-0.10.1.tar.gz'
3.环境
#!/bin/sh
export ANDROID_SDK=/home/zhangbin/vlc_android/android-sdk-linux
export ANDROID_NDK=/home/zhangbin/vlc_android/android-ndk-r8c
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
export ANDROID_ABI=armeabi-v7a
4. 执行脚本
5.我遇到的报错
因为我环境里在之前编译vlc for linux时候有opencv,而脚本中对opencv是autodetect的,所以会自动识别到:
make[4]: Entering directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/modules/video_chroma'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/modules/video_chroma'
make[3]: Leaving directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/modules/video_chroma'
Making all in video_filter
make[3]: Entering directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/modules/video_filter'
make all-am
make[4]: Entering directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/modules/video_filter'
make[4]: *** No rule to make target `../../../modules/video_filter/opencv_example.cpp', needed by `libopencv_example_plugin_la-opencv_example.lo'. Stop.
make[4]: Leaving directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/modules/video_filter'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/modules/video_filter'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/zhangbin/vlc_android/port_android/android/vlc/android'
make: *** [all] Error 2
还有就是upnp,其实upnp的头文件在include目录下是有的,只是vlc for android ,并没有这个库(没有自动下载)。
root@ubuntu:/home/zhangbin/vlc_android/port_android/android# ls /usr/include/upnp
FreeList.h ixml.h ThreadPool.h upnpconfig.h upnp.h
ithread.h LinkedList.h TimerThread.h upnpdebug.h upnptools.h
最好不要这么做,虽然会编译通过,
root@ubuntu:/home/zhangbin/vlc_android/port_android/android# cp -rf /usr/include/upnp /home/zhangbin/vlc_android/port_android/android/vlc/modules/services_discovery
我最后的解决方法是 把这俩库的makefile脚本都删掉。然后手动make。
6.。过程
编译的输出过程,非常重要。
root@ubuntu:/home/zhangbin/vlc_android/port_android/android# sh compile.sh
For an ARMv6 device without FPU, you need a build without FPU:
$ export NO_FPU=1
For an ARMv5 device or the Android emulator, you need an ARMv5 build:
$ export NO_ARMV6=1
If you plan to use a release build, run 'compile.sh release'
VLC source found
Building the contribs
Guessing build system... i686-linux-gnu
Creating configuration file... config.mak
Bootstrap completed.
Run "make" to start compilation.
Other targets:
* make install same as "make"
* make prebuilt fetch and install prebuilt binaries
* make list list packages
* make fetch fetch required source tarballs
* make fetch-all fetch all source tarballs
* make distclean clean everything and undo bootstrap
* make mostlyclean clean everything except source tarballs
* make clean clean everything
* make package prepare prebuilt packages
make: Nothing to be done for `fetch'.
make: Nothing to be done for `all'.
Configuring
checking build system type... x86_64-unknown-linux-gnu
checking host system type... arm-unknown-linux-androideabi
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for arm-linux-androideabi-strip... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-strip
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for style of include used by make... GNU
checking for arm-linux-androideabi-gcc... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm accepts -g... yes
checking for /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm option to accept ISO C89... none needed
checking dependency style of /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm... gcc3
checking for /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm option to accept ISO C99... -std=gnu99
checking how to run the C preprocessor... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 and cc understand -c and -o together... yes
checking whether we are using the GNU C++ compiler... yes
checking whether /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm accepts -g... yes
checking dependency style of /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm... gcc3
checking how to run the C preprocessor... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 -E
checking for arm-linux-androideabi-gcc... arm-linux-androideabi-gcc
checking whether we are using the GNU Objective C compiler... no
checking whether arm-linux-androideabi-gcc accepts -g... no
checking dependency style of arm-linux-androideabi-gcc... gcc3
checking dependency style of arm-linux-androideabi-gcc... (cached) gcc3
checking for egrep... (cached) /bin/grep -E
checking whether make sets $(MAKE)... (cached) yes
checking dependency style of /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99... gcc3
checking for desktop-file-validate... desktop-file-validate
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for C/C++ restrict keyword... __restrict
checking for an Android system... yes
checking for 3rd party libraries path... /home/zhangbin/vlc_android/port_android/android/vlc/contrib/arm-linux-androideabi
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/ld
checking if the linker (/home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-nm
checking the name lister (/home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-nm) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to arm-unknown-linux-androideabi format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/ld option to reload object files... -r
checking for arm-linux-androideabi-objdump... arm-linux-androideabi-objdump
checking how to recognize dependent libraries... (cached) pass_all
checking for arm-linux-androideabi-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for arm-linux-androideabi-ar... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-ar
checking for archiver @FILE support... @
checking for arm-linux-androideabi-strip... (cached) /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-strip
checking for arm-linux-androideabi-ranlib... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-ranlib
checking command to parse /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-nm output from /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 object... ok
checking for sysroot... no
checking for arm-linux-androideabi-mt... no
checking for mt... mt
configure: WARNING: using cross tools not prefixed with host triplet
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 supports -fno-rtti -fno-exceptions... no
checking for /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 option to produce PIC... -fPIC -DPIC
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 PIC flag -fPIC -DPIC works... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 static flag -static works... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 supports -c -o file.o... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 supports -c -o file.o... (cached) yes
checking whether the /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 linker (/home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... yes
checking whether a program can dlopen itself... cross
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking how to run the C++ preprocessor... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -E
checking for ld used by /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/ld
checking if the linker (/home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/ld) is GNU ld... yes
checking whether the /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm linker (/home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/ld) supports shared libraries... yes
checking for /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm option to produce PIC... -fPIC -DPIC
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm PIC flag -fPIC -DPIC works... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm static flag -static works... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm supports -c -o file.o... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm supports -c -o file.o... (cached) yes
checking whether the /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm linker (/home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for arm-linux-androideabi-windres... no
checking for windres... no
checking for bash... /bin/bash
checking if dolt supports this host... yes, replacing libtool
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by GCC... /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/ld
checking if the linker (/home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... no
checking for iconv... yes
checking for working iconv... guessing yes
checking how to link with libiconv... /home/zhangbin/vlc_android/port_android/android/vlc/contrib/arm-linux-androideabi/lib/libiconv.a
checking for GNU gettext in libintl... no
checking whether to use NLS... no
checking for iconv... (cached) yes
checking for working iconv... (cached) guessing yes
checking how to link with libiconv... /home/zhangbin/vlc_android/port_android/android/vlc/contrib/arm-linux-androideabi/lib/libiconv.a
checking for iconv declaration...
extern size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking for buggy GNU/libc versions... not present
checking for shared objects suffix... .so
checking whether nanosleep is declared... yes
checking for daemon... yes
checking for fcntl... yes
checking for fstatvfs... no
checking for fork... yes
checking for getenv... yes
checking for getpwuid_r... no
checking for isatty... yes
checking for lstat... yes
checking for memalign... yes
checking for mmap... yes
checking for openat... yes
checking for pread... yes
checking for posix_fadvise... no
checking for posix_madvise... no
checking for setlocale... yes
checking for stricmp... no
checking for strnicmp... no
checking for strptime... yes
checking for uselocale... no
checking for atof... no
checking for atoll... yes
checking for dirfd... yes
checking for fdopendir... yes
checking for flockfile... yes
checking for fsync... yes
checking for getdelim... no
checking for getpid... yes
checking for gmtime_r... yes
checking for inet_pton... yes
checking for lldiv... yes
checking for localtime_r... yes
checking for nrand48... yes
checking for poll... yes
checking for posix_memalign... no
checking for rewind... yes
checking for setenv... yes
checking for strcasecmp... yes
checking for strcasestr... yes
checking for strdup... yes
checking for strlcpy... yes
checking for strncasecmp... yes
checking for strndup... yes
checking for strnlen... yes
checking for strsep... yes
checking for strtof... no
checking for strtok_r... yes
checking for strtoll... yes
checking for swab... no
checking for tdestroy... no
checking for strverscmp... no
checking for fdatasync... yes
checking for static_assert in assert.h... no
checking for working strcoll... no
checking for accept4... no
checking for pipe2... yes
checking for eventfd... yes
checking for vmsplice... no
checking for sched_getaffinity... no
checking for struct pollfd... yes
checking for library containing connect... none required
checking for library containing getaddrinfo... none required
checking for if_nameindex... no
checking for if_nametoindex... yes
checking for socklen_t in sys/socket.h... yes
checking for struct sockaddr_storage... yes
checking for getopt_long... yes
checking for cos in -lm... yes
checking for lrintf in -lm... yes
checking for library containing dlopen... none required
checking for library containing pthread_rwlock_init... none required
checking for clock_nanosleep in -lrt... no
checking for nanosleep... yes
checking for sem_init in -lrt... no
checking search.h usability... no
checking search.h presence... no
checking for search.h... no
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking xlocale.h usability... no
checking xlocale.h presence... no
checking for xlocale.h... no
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking netinet/udplite.h usability... no
checking netinet/udplite.h presence... no
checking for netinet/udplite.h... no
checking sys/eventfd.h usability... yes
checking sys/eventfd.h presence... yes
checking for sys/eventfd.h... yes
checking for net/if.h... yes
checking for sys/mount.h... yes
checking machine/param.h usability... no
checking machine/param.h presence... no
checking for machine/param.h... no
checking sys/shm.h usability... no
checking sys/shm.h presence... no
checking for sys/shm.h... no
checking linux/version.h usability... yes
checking linux/version.h presence... yes
checking for linux/version.h... yes
checking linux/dccp.h usability... yes
checking linux/dccp.h presence... yes
checking for linux/dccp.h... yes
checking scsi/scsi.h usability... no
checking scsi/scsi.h presence... no
checking for scsi/scsi.h... no
checking linux/magic.h usability... yes
checking linux/magic.h presence... yes
checking for linux/magic.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking mntent.h usability... yes
checking mntent.h presence... yes
checking for mntent.h... yes
checking for ssize_t... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for arm-linux-androideabi-pkg-config... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for MINIZIP... no
checking unzip.h usability... no
checking unzip.h presence... no
checking for unzip.h... no
checking for IDN... no
checking for ntohl in sys/param.h... no
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -Wall... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -Wextra... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -Wsign-compare... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -Wundef... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -Wpointer-arith... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -Wbad-function-cast... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -Wwrite-strings... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -Wmissing-prototypes... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -Wvolatile-register-var... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -Werror-implicit-function-declaration... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -pipe... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm accepts -Wall... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm accepts -Wextra... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm accepts -Wsign-compare... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm accepts -Wundef... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm accepts -Wpointer-arith... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-g++ --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm accepts -Wvolatile-register-var... yes
checking valgrind/valgrind.h usability... no
checking valgrind/valgrind.h presence... no
checking for valgrind/valgrind.h... no
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -fvisibility=hidden... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -ffast-math... yes
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 accepts -funroll-loops... yes
checking __attribute__ ((aligned ())) support... 64
checking for __attribute__((packed))... yes
checking execinfo.h usability... no
checking execinfo.h presence... no
checking for execinfo.h... no
checking for backtrace... no
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 groks 3D Now! inline assembly... no
checking if /home/zhangbin/vlc_android/android-ndk-r8c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin//arm-linux-androideabi-gcc --sysroot=/home/zhangbin/vlc_android/android-ndk-r8c/platforms/android-9/arch-arm -std=gnu99 groks ARM NEON assembly... yes
checking for LIBPROXY... no
checking for live555 version 1324598400 or later... yes
checking for main in -lliveMedia_pic... no
checking for main in -lliveMedia... yes
checking for DC1394... no
configure: WARNING: Library libdc1394-2 >= 2.1.0 needed for dc1394 was not found
checking for OPENCV... yes
checking libsmbclient.h usability... no
checking libsmbclient.h presence... no
checking for libsmbclient.h... no
checking for SFTP... no
configure: WARNING: Library libssh2 needed for sftp was not found
checking for Linux DVB version 5.1... no
checking for DVBPSI... yes
checking for OGG... yes
checking ebml/EbmlVersion.h usability... yes
checking ebml/EbmlVersion.h presence... yes
checking for ebml/EbmlVersion.h... yes
checking for libebml version >= 1.0.0... yes
checking matroska/KaxVersion.h usability... yes
checking matroska/KaxVersion.h presence... yes
checking for matroska/KaxVersion.h... yes
checking for libmatroska version >= 1.0.0... yes
checking matroska/KaxAttachments.h usability... yes
checking matroska/KaxAttachments.h presence... yes
checking for matroska/KaxAttachments.h... yes
checking for main in -lebml_pic... no
checking for main in -lebml... yes
checking mpc/mpcdec.h usability... no
checking mpc/mpcdec.h presence... no
checking for mpc/mpcdec.h... no
checking mpcdec/mpcdec.h usability... no
checking mpcdec/mpcdec.h presence... no
checking for mpcdec/mpcdec.h... no
checking for libcrystalhd/libcrystalhd_if.h... no
checking if linker supports -Bsymbolic... yes
checking for AVCODEC... yes
checking libavcodec/avcodec.h usability... yes
checking libavcodec/avcodec.h presence... yes
checking for libavcodec/avcodec.h... yes
checking libavutil/avutil.h usability... yes
checking libavutil/avutil.h presence... yes
checking for libavutil/avutil.h... yes
checking for AVFORMAT... yes
checking libavformat/avformat.h usability... yes
checking libavformat/avformat.h presence... yes
checking for libavformat/avformat.h... yes
checking libavformat/avio.h usability... yes
checking libavformat/avio.h presence... yes
checking for libavformat/avio.h... yes
checking for libavutil/avutil.h... (cached) yes
checking for SWSCALE... yes
checking libswscale/swscale.h usability... yes
checking libswscale/swscale.h presence... yes
checking for libswscale/swscale.h... yes
checking for POSTPROC... yes
checking postproc/postprocess.h usability... no
checking postproc/postprocess.h presence... no
checking for postproc/postprocess.h... no
checking for TWOLAME... no
configure: WARNING: Library twolame needed for twolame was not found
checking a52dec/a52.h usability... yes
checking a52dec/a52.h presence... yes
checking for a52dec/a52.h... yes
checking for a52_free in -la52... yes
checking for FLAC... yes
checking for LIBMPEG2... yes
checking for SPEEX... yes
checking for SPEEXDSP... yes
checking for OPUS... yes
checking for THEORA... yes
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_set_rows in -lpng... yes
checking for X26410B... no
checking for LIBASS... yes
checking fontconfig/fontconfig.h usability... no
checking fontconfig/fontconfig.h presence... no
checking for fontconfig/fontconfig.h... no
checking for KATE... yes
checking for TIGER... no
checking for GL... no
checking GL/gl.h usability... no
checking GL/gl.h presence... no
checking for GL/gl.h... no
checking for X... no
checking X11/Xlib.h usability... no
checking X11/Xlib.h presence... no
checking for X11/Xlib.h... no
checking for FREETYPE... yes
checking Carbon/Carbon.h usability... no
checking Carbon/Carbon.h presence... no
checking for Carbon/Carbon.h... no
checking for fontconfig/fontconfig.h... (cached) no
configure: WARNING: library fontconfig not found. Styles will be disabled in freetype
checking for FRIBIDI... yes
checking linux/fb.h usability... yes
checking linux/fb.h presence... yes
checking for linux/fb.h... yes
checking kva.h usability... no
checking kva.h presence... no
checking for kva.h... no
checking sndio.h usability... no
checking sndio.h presence... no
checking for sndio.h... no
checking audioclient.h usability... no
checking audioclient.h presence... no
checking for audioclient.h... no
checking SLES/OpenSLES.h usability... yes
checking SLES/OpenSLES.h presence... yes
checking for SLES/OpenSLES.h... yes
checking kai.h usability... no
checking kai.h presence... no
checking for kai.h... no
configure: WARNING: The skins2 module depends on the Qt4 interface, Qt4 is not built so skins2 is disabled.
checking for NCURSES... no
checking for VSXU... no
configure: WARNING: No package 'libvsxu' found.
checking for BONJOUR... no
configure: WARNING: Library avahi-client >= 0.6 needed for bonjour was not found
checking for UPNP... yes
checking for LIBXML2... yes
checking whether GCRYCTL_SET_THREAD_CBS is declared... yes
checking for gcry_control in -lgcrypt... yes
checking for GNUTLS... yes
checking for MCE... no
checking for TAGLIB... yes
checking whether byte ordering is bigendian... no
configure: creating ./config.status
config.status: creating Makefile
config.status: creating doc/Makefile
config.status: creating modules/Makefile
config.status: creating m4/Makefile
config.status: creating po/Makefile.in
config.status: creating share/Makefile
config.status: creating compat/Makefile
config.status: creating src/Makefile
config.status: creating lib/Makefile
config.status: creating bin/Makefile
config.status: creating test/Makefile
config.status: creating modules/access/Makefile
config.status: creating modules/access/rtp/Makefile
config.status: creating modules/access_output/Makefile
config.status: creating modules/audio_filter/Makefile
config.status: creating modules/audio_mixer/Makefile
config.status: creating modules/audio_output/Makefile
config.status: creating modules/codec/Makefile
config.status: creating modules/control/Makefile
config.status: creating modules/demux/Makefile
config.status: creating modules/gui/Makefile
config.status: creating modules/gui/macosx/Makefile
config.status: creating modules/gui/minimal_macosx/Makefile
config.status: creating modules/gui/macosx_dialog_provider/Makefile
config.status: creating modules/gui/qt4/Makefile
config.status: creating modules/gui/skins2/Makefile
config.status: creating modules/lua/Makefile
config.status: creating modules/meta_engine/Makefile
config.status: creating modules/misc/Makefile
config.status: creating modules/media_library/Makefile
config.status: creating modules/mux/Makefile
config.status: creating modules/notify/Makefile
config.status: creating modules/packetizer/Makefile
config.status: creating modules/services_discovery/Makefile
config.status: creating modules/stream_filter/Makefile
config.status: creating modules/stream_out/Makefile
config.status: creating modules/text_renderer/Makefile
config.status: creating modules/video_chroma/Makefile
config.status: creating modules/video_filter/Makefile
config.status: creating modules/video_output/Makefile
config.status: creating modules/visualization/Makefile
config.status: creating modules/mmx/Makefile
config.status: creating modules/sse2/Makefile
config.status: creating modules/altivec/Makefile
config.status: creating modules/arm_neon/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
libvlc configuration
--------------------
version : 2.1.0-git
system : linux
architecture : arm
optimizations : yes
build vlc executable : no
To build vlc and its plugins, type `make', or `./compile' if you like nice colors.
Building
make all-recursive
make[1]: Entering directory `/home/zhangbin/vlc_android/port_android/android/vlc/android'
Making all in compat
make[2]: Entering directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/compat'
make all-am
make[3]: Entering directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/compat'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/compat'
make[2]: Leaving directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/compat'
Making all in doc
make[2]: Entering directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/doc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/doc'
Making all in po
make[2]: Entering directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/po'
make[2]: Leaving directory `/home/zhangbin/vlc_android/port_android/android/vlc/android/po'
7. 测试
测试表明,vlc for android 对1080p的支持很弱。
硬解码没有完善。逊色于暴风、vplayer。