2011-08-29 16 views
5

मैं वर्तमान में कंप्यूटर इंजीनियरिंग में अपनी अंतिम वर्ष परियोजना के रूप में एक शैली वर्गीकरण आवेदन लिख रहा हूं। मैंने शुरुआत में सी में फीचर निष्कर्षण कोड (एफएफटीडब्ल्यू लागू करना) लिखा था और अब मुझे इसे एनडीके के माध्यम से एंड्रॉइड पर लागू करने की आवश्यकता है।एंड्रॉइड एनडीके एप्लिकेशन में एफएफटीडब्लू को लिंक करना

यह मेरी पहली एनडीके परियोजना है इसलिए मुझे अभी भी चीजों का लटका मिल रहा है, लेकिन मैंने this guide के अनुसार एंड्रॉइड के लिए FFTW3 लाइब्रेरी संकलित की है। मैंने आखिरी कदम नहीं किया क्योंकि मुझे नहीं लगता था कि मुझे जो चाहिए वह सही था।

मेरा सवाल यह है कि मैं संकलन चरण के बाद, मुख्य एनडीके एप्लिकेशन में लाइब्रेरी का उपयोग कैसे करता हूं? क्या मैं सामान्य रूप से एप्लिकेशन.एमके में LOCAL_STATIC_LIBRARIES के साथ libfftw3.a पर सेट करता हूं जिसे मैंने अभी संकलित किया है? और फिर मुझे किसी भी -lfftw3 लिंकर झंडे की आवश्यकता नहीं है जैसे कि मैं सामान्य रूप से सही करता हूं?

उत्तर

4

आप प्रीबिइट एफएफटीडब्ल्यू लाइब्रेरी का उपयोग कर सकते हैं (इससे कोई फर्क नहीं पड़ता कि आप इसे कैसे बनाते हैं)।

या आप संपूर्ण परियोजना के साथ Android.mk मेकफ़ाइल में FFTW बना सकते हैं।

Android.mk सामग्री हो जाएगा:

# Prebuilt FFTW library 
include $(CLEAR_VARS) 
LOCAL_MODULE := fftw 
include $(PREBUILT_STATIC_LIBRARY) 

# or 

# Build FFTW library 
include $(CLEAR_VARS) 
LOCAL_MODULE := fftw 
# TODO put your static libs build flags 
include path_to_fftw_sources/$(LOCAL_MODULE).mk 
include $(BUILD_STATIC_LIBRARY) 

include $(CLEAR_VARS) 
LOCAL_MODULE := YourProject 
# TODO put your shared lib build flags 
include path_to_your_project/$(LOCAL_MODULE).mk 
LOCAL_STATIC_LIBRARIES += fftw 
include $(BUILD_SHARED_LIBRARY) 

मैं अपनी साझा लाइब्रेरी के निर्माण के लिए FFTW स्थिर पुस्तकालय और path_to_your_project/$(LOCAL_MODULE).mk के निर्माण के लिए path_to_fftw_sources/$(LOCAL_MODULE).mk लिखा है। अलग-अलग .mk फ़ाइल में LOCAL_SRC_FILES और LOCAL_C_INCLUDES डालना अक्सर बेहतर होता है।

आप अपने एनडीके वितरण में docs/ANDROID-MK.html दस्तावेज़ में Android.mk फ़ाइल के बारे में अधिक पढ़ सकते हैं।

संबंधित मुद्दे