किसी कृपया मुझे बताओ कैसे एंड्रॉयड (NDK-निर्माण) में सी-एरेस पुस्तकालय का निर्माण करनेएंड्रॉयड में सी एरेस पुस्तकालय (NDK)
6
A
उत्तर
12
यहाँ कैसे साथ ARMv7 के लिए एक स्थिर पुस्तकालय के रूप में इसे बनाने की है सकते हैं का निर्माण करने के लिए कैसे NDK standalone toolchain:
export NDK=/tmp/android-ndk-r8b
# Create the standalone toolchain
$NDK/build/tools/make-standalone-toolchain.sh \
--platform=android-9 \
--install-dir=/tmp/my-android-toolchain
export PATH=/tmp/my-android-toolchain/bin:$PATH
export SYSROOT=/tmp/my-android-toolchain/sysroot
export CC="arm-linux-androideabi-gcc --sysroot $SYSROOT"
# Download the latest release
curl -O http://c-ares.haxx.se/download/c-ares-1.9.1.tar.gz
tar xvfz c-ares-1.9.1.tar.gz
# Configure
cd c-ares-1.9.1 && mkdir build
./configure --prefix=$(pwd)/build \
--host=arm-linux-androideabi \
--disable-shared \
CFLAGS="-march=armv7-a"
# Build and install
make && make install
यही है। स्थिर पुस्तकालय build/lib/libcares.a
के तहत तैनात किया गया है।
आप अन्य archs (जैसे armeabi
, x86
) उचित -march
मूल्य के साथ configure
दोहराने और प्रत्येक मेहराब के लिए पुस्तकालय फिर से निर्माण को लक्षित करते हैं। इसके अलावा, के लिए स्वतंत्र महसूस करने के लिए:
- अपनी आवश्यकताओं के लक्ष्य मंच अनुकूलन (यहाँ Android 2.3, एपीआई स्तर 9 उर्फ),
configure
विकल्प है कि अपनी आवश्यकताओं (फिट का उपयोग जैसे आप एक गतिशील निर्माण करने के लिए चाहते हो सकता है पुस्तकालय इसके अलावा, कुछ सुविधाओं को सक्षम/अक्षम, आदि)।
मैंने तृतीय पक्ष लाइब्रेरी बनाने के बारे में आपकी वेबसाइट से आपकी प्रक्रिया का पालन किया। मैंने 'gsl' लाइब्रेरी संकलित की और इसे सफलतापूर्वक संकलित किया लेकिन जब मैं ऐप चला रहा हूं। यह रनटाइम त्रुटि दे रहा है जो 'cblas_sdsdot' का पता नहीं लगा सकता है। परिवर्तनीय lib में मौजूद है क्योंकि मैंने 'nm' कमांड के साथ चेक किया है। इस 3 साल के सवाल का आह्वान करने के लिए कोई सुझाव और वास्तव में खेद है। –
मुझे लगता है कि यह एक समर्पित स्टैक ओवरफ्लो प्रश्न का हकदार है क्योंकि आप स्पष्ट रूप से सी-एरेस पर ध्यान केंद्रित नहीं कर रहे हैं, लेकिन जीएसएल पर, है ना? – deltheil
यहां मेरे प्रश्न का लिंक है। मैंने इसे यहां पूछने से पहले आज पोस्ट किया। Http://stackoverflow.com/questions/30727709/gsl-nm-outputs-undefined-symbol-u? Noredirect = 1 # comment49530515_30727709 –