2012-01-28 12 views
5

का उपयोग करते समय पीसीआरई के लिए असफल होने से लिंकिंग स्रोत फ़ाइलों की प्रतिलिपि बनाकर और उचित Andriod.mk बनाने के द्वारा लोग पीसीआरई (या एक सबसेट) बनाने में सक्षम हैं। मैं समान करना चाहता हूं, लेकिन एक एंड्रॉइड स्टैंड-अलोन टूलचेन का उपयोग करके और बस अपने कॉन्फ़िगरेशन का उपयोग करके और प्रक्रिया करता हूं। मैंने सफलतापूर्वक उसी प्रवाह का उपयोग करके अन्य उपयोगी पुस्तकालयों का निर्माण किया है, लेकिन पीसीआरई के साथ एक समस्या में भाग रहा हूं। विशेष रूप से, मेकअप में देर प्रवाह मैं इस त्रुटि हो रही है:एंड्रॉइड एनडीके स्टैंड-अलोन टूलचेन

undefined reference to__dso_handle' .libs/pcre_stringpiece.o 

यह कर रहे हैं,

/bin/bash ./libtool --tag=CXX --mode=link arm-linux-androideabi-g++ -O2 -version-info 0:0:0        -o libpcrecpp.la -rpath /usr/local/lib pcrecpp.lo pcre_scanner.lo pcre_stringpiece.lo libpcre.la 
libtool: link: arm-linux-androideabi-g++ -fPIC -DPIC -shared -nostdlib .libs/pcrecpp.o .libs/pcre_scanner.o .libs/pcre_stringpiece.o -Wl,-rpath -Wl,/home/corbin/applications/pcre-8.21/.libs ./.libs/libpcre.so -L/home/corbin/my-android-toolchain-mod/bin/../lib/gcc/arm-linux-androideabi/4.7.0 -L/home/corbin/my-android-toolchain-mod/bin/../lib/gcc -L/home/corbin/my-android-toolchain-mod/bin/../lib/gcc/arm-linux-androideabi/4.7.0/../../../../arm-linux-androideabi/lib -L/home/corbin/my-android-toolchain-mod/bin/../sysroot/usr/lib -lstdc++ -lm -lc -ldl -lgcc -O2 -Wl,-soname -Wl,libpcrecpp.so.0 -o .libs/libpcrecpp.so.0.0.0 
.libs/pcrecpp.o: In function `_GLOBAL__sub_I_pcrecpp.cc': 
pcrecpp.cc:(.text.startup+0x94): undefined reference to `__dso_handle' 
.libs/pcre_stringpiece.o: In function `_GLOBAL__sub_I_pcre_stringpiece.cc': 
pcre_stringpiece.cc:(.text.startup+0x40): undefined reference to `__dso_handle' 
collect2: error: ld returned 1 exit status 
make[1]: *** [libpcrecpp.la] Error 1 
make[1]: Leaving directory `/home/corbin/applications/pcre-8.21' 

समस्या क्या है और क्या समाधान है पर कोई विचार? मैंने इसी तरह की समस्याओं के बारे में विभिन्न चीजें पढ़ीं, लेकिन वे अधिकतर अनुपयोगी थीं या अगर वे एक ही समस्या से संबंधित हैं तो यह स्पष्ट नहीं था।

अद्यतन 1: मुझे पता चला है कि यह समस्या तब नहीं होती जब मैं डिफ़ॉल्ट स्टैंड-अलोन टूलचैन का उपयोग करता हूं। यह तब होता है जब मैं यहां वर्णित संशोधित एक का उपयोग करता हूं: http://specificimpulses.blogspot.com/2011/10/android-fortran-step-by-step-part-2.html मुझे उस अन्य पुस्तकालयों के निर्माण के लिए उपयोग करने की आवश्यकता है जिसमें फोर्टन (और सफलतापूर्वक ऐसा किया गया है) शामिल हैं और सभी बिल्डों के लिए एक ही टूलचेन का उपयोग करना चाहते हैं। तो, क्या मुझे टूलचैन को कुछ अलग विकल्पों के साथ पुनर्निर्माण करने की ज़रूरत है?

+0

कृपया मुझे इसे हल करने के तरीके पर एक संकेत दें। या, बेहतर, मेरे द्वारा दिए गए लिंक के आधार पर एक स्टैंडअलोन टूलचेन बनाएं और इसे पिक्चर बनाने के लिए उपयोग करें। त्रुटि को पुन: प्रयास करें और समस्या को ठीक करने के लिए क्या करें। मुझे विश्वास है कि इस से प्राप्त करने के लिए मुझे विभिन्न विकल्पों के साथ जीसीसी का पुनर्निर्माण करने की जरूरत है, लेकिन यह सुनिश्चित नहीं है कि अभी तक कैसे। – corbin

+0

कृपया यह http://stackoverflow.com/questions/8831227/how-to-build-or-where-to-get-an-android-ndk-stand-alone-toolchain-supporting-for देखें – corbin

उत्तर

1

ऐसा लगता है कि -fno-use-cxa-atexit एक स्वीकार्य कामकाज है।

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