2010-11-29 15 views
6

मैं अपने प्रोजेक्ट के लिए जीएनयू ऑटोोटूल (ऑटोमेक सहित!) का उपयोग कर रहा हूं। मैं जानना चाहता हूं कि क्या मैं libtool का उपयोग कर स्थिर और साझा लाइब्रेरी बना सकता हूं? या घोषणा अलग होगी? यह होगा:जीएनयू libtool के साथ स्थिर और साझा पुस्तकालय दोनों बनाएँ?

LT_INIT(shared static) 

काम?

उत्तर

11

LT_INIT के अलावा कुछ भी आवश्यक नहीं है, यह स्थिर और साझा पुस्तकालयों दोनों के निर्माण के लिए डिफ़ॉल्ट है। आप चाहें, तो आप फिर से स्पष्ट रूप से चूक कह सकते हैं (लेकिन यह निरर्थक की तरह है)

LT_INIT 
AC_ENABLE_SHARED 
AC_ENABLE_STATIC

संपादित करें:। LT_INIT([shared]) मैनुअल कहते हैं और LT_INIT([static]) (LT_INIT([shared static]) के लिए संयुक्त भी काम करेगा क्या डिफ़ॉल्ट जब है पर इसके अलावा मैनुअल और अधिक सटीक शब्दों LT_INIT दिया जाता है:। इस मैक्रो बदल जाता है साझा पुस्तकालयों पर अगर वे उपलब्ध हैं, और भी स्थिर पुस्तकालयों के लिए सक्षम बनाता है, तो वे साझा पुस्तकालयों के साथ नहीं संघर्ष करना

+0

तो जब कॉन्फ़िगर कर && चलाया जाता है, एक स्थिर और साझा लाइब्रेरी ऑटो है मूल रूप से उत्पादित? –

+0

@ मोहित देशपांडे, यह सही है। – ptomato

+2

जब तक config.ac स्पोर्ट्स ए, कहते हैं, 'AC_DISABLE_STATIC', यह डिफ़ॉल्ट रूप से दोनों का निर्माण करेगा। उदाहरण के लिए './configure --enable-static' का उपयोग करके' AC_DISABLE_STATIC' का सामना किया जा सकता है। तो 'config.ac' में वास्तव में क्या है इसके उपयोगकर्ताओं के लिए डेवलपर का सुझाव है। – user502515

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