VLC Android 2.0.6

大致上手法與編譯Compile VLC 1.7.5 差不多, 不過在這個版本不太需要去更改 ffmpeg/rules.mak 的內容

另外建議每次重編vlc folder的時候, 都要砍掉在重新git clone + git checkout, 不要一直git checkout,

不然會有殘留編譯檔案的問題, 容易引發不必要的錯誤

目前我這邊已知可以編譯成功的版本為

vlc android: fad7ab333f4290576f07aa22a6bb37ffed88cb0d

搭配

vlc : d002305e28d2744ad3fc63c2a42720309af182c8

vlc: 526705c394fb4f7e158d5adde83a411b3189809d

vlc: 4919758a95cf8dd6a7a3cbaa4603e54943aec90a

vlc: 3589a347e4e287ab620d01f88c2160091cc61118

vlc: 2922a6c0732f842c6df97b6d8ea67ecb64acc9d6

vlc: 6689dcb688092a909ca9f662e1a061e99f48ec7d

這些版本都可以編譯成功

錯誤情況:(Makefile:2148: recipe for target 'all' failed)

要修正 vlc/contrib/src/lua/rules.mak 的內容, 程式碼的最下方

.lua: lua

..

ifdef HAVE_WIN32

cd $< && $(RANLIB) "$(PREFIX)/lib/liblua.a"

mkdir -p -- "$(PREFIX)/lib/pkgconfig"

cp $</etc/lua.pc "$(PREFIX)/lib/pkgconfig/"

endif

...

touch $@

改為

.lua: lua

...

ifdef HAVE_WIN32

cd $< && $(RANLIB) "$(PREFIX)/lib/liblua.a"

mkdir -p -- "$(PREFIX)/lib/pkgconfig"

cp $</etc/lua.pc "$(PREFIX)/lib/pkgconfig/"

endif

ifdef HAVE_CROSS_COMPILE

cd $</src && $(MAKE) clean && $(MAKE) liblua.a && ranlib liblua.a && $(MAKE) luac

cp $</src/luac $(PREFIX)/bin

endif

...

touch $@

錯誤情況:./../modules/codec/vpx.c:271: error

將 vlc/contrib/src/vpx/rules.mak 的以下幾行移除

PKGS += vpx

ifeq ($(call need_pkg,"vpx"),)

PKGS_FOUND += vpx

endif

錯誤情況:make: *** [.fribidi] Error 77

將 vle/contrib/src/main.mak 以下幾行做修正

ifdef HAVE_ANDROID

CC := clang

CXX := clang++

endif

改為

ifdef HAVE_ANDROID

CC := $(HOST)-gcc --sysroot=$(ANDROID_NDK)/platforms/$(ANDROID_API)/arch-$(PLATFORM_SHORT_ARCH)

CXX := $(HOST)-g++ --sysroot=$(ANDROID_NDK)/platforms/$(ANDROID_API)/arch-$(PLATFORM_SHORT_ARCH)

endif

results matching ""

    No results matching ""