使用mac编译VLC-Android,现在出现一个问题,日志如下
checking android/api-level.h usability... yes
checking android/api-level.h presence... yes
checking for android/api-level.h... yes
checking for rpm sources path... NOT-FOUND
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating libvncserver.pc
config.status: creating libvncclient.pc
config.status: creating libvncserver/Makefile
config.status: creating examples/Makefile
config.status: creating examples/android/Makefile
config.status: creating webclients/Makefile
config.status: creating webclients/java-applet/Makefile
config.status: creating webclients/java-applet/ssl/Makefile
config.status: creating libvncclient/Makefile
config.status: creating client_examples/Makefile
config.status: creating test/Makefile
config.status: creating libvncserver-config
config.status: creating LibVNCServer.spec
config.status: creating rfbconfig.h
config.status: rfbconfig.h is unchanged
config.status: executing rfb/rfbconfig.h commands
config.status: creating rfb/rfbconfig.h - prefix LIBVNCSERVER for rfbconfig.h defines
config.status: rfb/rfbconfig.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing rfb/rfbint.h commands
config.status: creating rfb/rfbint.h : _LIBVNCSERVER_RFB_RFBINT_H
config.status: rfb/rfbint.h is unchanged
config.status: executing chmod-libvncserver-config commands
cd vncclient && /Applications/Xcode.app/Contents/Developer/usr/bin/make -C libvncclient install
make[2]: Nothing to be done for `install-data-am'.
.././install-sh -c -d '/Users/lidechen/AndroidStudioProjects/git/video/vlcandroid/vlc/contrib/arm-linux-androideabi/lib'
/bin/sh ../libtool --mode=install /usr/bin/install -c libvncclient.la '/Users/lidechen/AndroidStudioProjects/git/video/vlcandroid/vlc/contrib/arm-linux-androideabi/lib'
libtool: install: /usr/bin/install -c .libs/libvncclient.lai /Users/lidechen/AndroidStudioProjects/git/video/vlcandroid/vlc/contrib/arm-linux-androideabi/lib/libvncclient.la
libtool: install: /usr/bin/install -c .libs/libvncclient.a /Users/lidechen/AndroidStudioProjects/git/video/vlcandroid/vlc/contrib/arm-linux-androideabi/lib/libvncclient.a
libtool: install: chmod 644 /Users/lidechen/AndroidStudioProjects/git/video/vlcandroid/vlc/contrib/arm-linux-androideabi/lib/libvncclient.a
libtool: install: arm-linux-androideabi-ranlib /Users/lidechen/AndroidStudioProjects/git/video/vlcandroid/vlc/contrib/arm-linux-androideabi/lib/libvncclient.a
arm-linux-androideabi-ranlib: /Users/lidechen/AndroidStudioProjects/git/video/vlcandroid/vlc/contrib/arm-linux-androideabi/lib/libvncclient.a: Malformed archive
make[2]: *** [install-libLTLIBRARIES] Error 1
make[1]: *** [install-am] Error 2
make: *** [.vncclient] Error 2
contribs: make failed
这里的libvncclient.a:是什么,大家见过这种问题吗?
http://blog.csdn.net/hanhailong726188/article/details/50011499
自答一发
感觉vnc相关功能在项目中用不到,此处直接屏蔽相关依赖,编译成功。具体如下,在相关行加#,进行屏蔽
path:…/vlcandroid/vlc/contrib/src/vncclient
ruls.mak不编译vncclient
.vncclient: vncclient
$(RECONF)
cd $< && $(HOSTVARS) ac_cv_path_AR="$(AR)" ./configure $(HOSTCONF) --without-libva
#cd $< && $(MAKE) -C libvncclient install
#cd $< && $(MAKE) install-data
touch $@
path:…/vlcandroid/vlc/share 去掉vlc.desktop相关
appdatadir = $(datadir)/applications
if !HAVE_WIN32
if !HAVE_DARWIN
#appdata_DATA = vlc.desktop
endif
endif
EXTRA_DIST += vlc.desktop.in vlc.desktop.mimetypes
CLEANFILES += $(appdata_DATA)
补一下最后的解决方法,下载vmware以及最新的ubuntu 64位桌面版 以及最新的ndk, 按照官网的方法编译即可成功