灵感来源:http://www.th7.cn/Program/Android/201210/105999.shtml
问题:
之前编译vlc-android的时候,总是卡在了live555,因为live555使用C++编写,android-ndk编译C++过程中难免会连接一些C++库,ndk在编译过程中一直找不到stdc++.a supc++.a crtbegin_dynamic.o等。出现crtbegin_dynamic.o找不到,lstdc++找不到等。在网上找了些资料说是:NDK自带的toolchian不能直接用来编译C++,内容如上连接。我试着去实践,过然成功的解决了问题。
1.提取toolchian (参考:docs/STANDALONE-TOOLCHAIN.html)
cd ~/android-nkd-r5b
build/tools/make-standalone-toolchain.sh --platform=android-9
得到一个压缩包:/tmp/ndk-lyf/arm-linux-androideabi-4.4.3.tar.bz2
将压缩包arm-linux-androideabi-4.4.3.tar.bz2解压到/home/lyf/cross_tool/arm-linux-androideabi-4.4.3
注:此段参考至链接http://www.th7.cn/Program/Android/201210/105999.shtml
2.vlc-android编译突破live555问题
解压live555-latest.tar.gz
修改config.armlinux,如下:
将全文的CROSS_COMPILE 改为CROSS_COMPILE_LYF
将arm-elf-eabi-改为:/home/lyf/cross_tool/arm-linux-androideabi-4.4.3/bin/arm-linux-androideabi-
在COMPILE_OPTS最后面加上 --DANDROID -DLOCALE_NOT_USED
回到cd vlc/extras/contrib
make
如下图: