x86

2014-10-28 9 views
6

के लिए लिबवीएलसी बिल्डिंग मैं एंड्रॉइड के लिए लिबवीएलसी का उपयोग करने की कोशिश कर रहा हूं और मैंने https://wiki.videolan.org/AndroidCompile पर निर्देशों का पालन किया और इसे एआरएम के लिए पूरी तरह से काम करने के लिए मिला। हालांकि, जब 86 के लिए यह संकलन करने की कोशिश कर रहा है, मैं सेट:x86

निर्यात ANDROID_ABI = 86

और फिर उसी तरह से संकलित, लेकिन के रूप में यह संकलन करने में विफल रहता है अब मैं एक समस्या है। यहाँ एक छोटा निर्माण लॉग है:

~/vlc-android$ sh compile.sh 
VLC source found 
Building tools 
You are ready to build VLC and its contribs 
Building the contribs 
Generating EGL pkg-config file 
Generating GLESv2 pkg-config file 
Guessing build system... x86_64-linux-gnu 
Creating configuration file... config.mak 
Bootstrap completed. 

... 

config.status: executing libtool commands 
Type "make; make install" to compile and install Speex 
cd speexdsp && make install 
make[1]: Entering directory `/home/user/vlc-android/vlc/contrib/contrib-android-i686-linux-android/speexdsp' 
Making install in libspeexdsp 
make[2]: Entering directory `/home/user/vlc-android/vlc/contrib/contrib-android-i686-linux-android/speexdsp/libspeexdsp' 
    CC  resample.lo 
In file included from resample.c:104:0: 
resample_neon.h:142:21: error: redefinition of 'inner_product_single' 
static inline float inner_product_single(const float *a, const float *b, unsigned int len) 
        ^
In file included from resample.c:100:0: 
resample_sse.h:40:21: note: previous definition of 'inner_product_single' was here 
static inline float inner_product_single(const float *a, const float *b, unsigned int len) 
        ^
make[2]: *** [resample.lo] Error 1 
make[2]: Leaving directory `/home/user/vlc-android/vlc/contrib/contrib-android-i686-linux-android/speexdsp/libspeexdsp' 
make[1]: *** [install-recursive] Error 1 
make[1]: Leaving directory `/home/user/vlc-android/vlc/contrib/contrib-android-i686-linux-android/speexdsp' 
make: *** [.speexdsp] Error 2 

जहां तक ​​मेरा बता सकते हैं, किसी कारण के लिए है कि परियोजना में दोनों एआरएम हेडर और SSE हेडर शामिल किया जा रहा है, एक नई परिभाषा त्रुटि के कारण। हालांकि, मुझे नहीं पता कि इसे ठीक करने का प्रयास क्यों करें या क्या करें। किसी भी सुझाव को सराहा जाएगा।

उत्तर

0

ऑटोकॉन्फ़ बिल्कुल सही नहीं दिखता है, x86 बिल्ड के पास नियॉन निर्देश सेट के साथ कुछ लेना देना नहीं है इसलिए resample_neon.h शामिल नहीं होना चाहिए। मैं मूल कारण अभी तक लेकिन एक त्वरित समाधान के लिए ../vlc-android/vlc/contrib/contrib-android-i686-linux-android/speexdsp/libspeexdsp के तहत नहीं मिला है, खुला resample.c और हटाने के निम्नलिखित लाइनों:

... 
#ifdef _USE_NEON 
#include "resample_neon.h" 
#endif 
... 

तो compile.sh को फिर से चलाएं, तो आप अपने 86 एमुलेटर के लिए एक काम apk मिलना चाहिए/डिवाइस।

+0

मैंने वास्तव में एक गिट खींच लिया और अपना पूरा वीएलसी-एंड्रॉइड पैकेज अपडेट किया और समस्या चली गई। मैंने पिछली प्रतिबद्धता को खींचने की कोशिश की जब मैंने मूल रूप से रेपो को क्लोन किया और आपके फिक्स ने काम किया। तो ऐसा लगता है कि यह एक काम में तय हो गया है। धन्यवाद! –