i686-w64-mingw32-pkg-config - क्लाउड में ऑनलाइन

यह कमांड i686-w64-mingw32-pkg-config है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


pkg-config - स्थापित पुस्तकालयों के बारे में मेटाफॉर्मेशन लौटाएं

SYNOPSIS


पीकेजी-कॉन्फ़िगरेशन [--मोडवर्जन] [--संस्करण] [--सहायता] [--कम से कम-pkgconfig-संस्करण=संस्करण]
[--प्रिंट-त्रुटियों] [--लघु-त्रुटियों] [--मौन-त्रुटियों] [--त्रुटियों-से-stdout] [--डीबग]
[--cflags] [--libs] [--libs-only-L] [--libs-only-l] [--cflags-only-I] [--libs-only-अन्य]
[--cflags-only-other] [--variable=VARIABLENAME] [--define-
चर = VARIABLENAME = VARIABLEVALUE] [--प्रिंट-चर] [--अनइंस्टॉल किया गया] [--मौजूद]
[--कम से कम-संस्करण=संस्करण] [-सटीक-संस्करण=संस्करण] [--अधिकतम-संस्करण=संस्करण] [--मान्य]
[--सूची-सभी] [--प्रिंट-प्रदान करता है] [--प्रिंट-आवश्यकता] [--प्रिंट-आवश्यकता-निजी]
[पुस्तकालय...]

वर्णन


RSI पीकेजी-कॉन्फ़िगरेशन प्रोग्राम का उपयोग स्थापित पुस्तकालयों के बारे में जानकारी प्राप्त करने के लिए किया जाता है
प्रणाली। यह आम तौर पर एक या अधिक पुस्तकालयों के खिलाफ संकलन और लिंक करने के लिए उपयोग किया जाता है। यहाँ है
मेकफ़ाइल में एक सामान्य उपयोग परिदृश्य:

कार्यक्रम: प्रोग्राम.सी
cc प्रोग्राम.c $(pkg-config --cflags --libs gnomeui)

पीकेजी-कॉन्फ़िगरेशन विशेष मेटाडेटा फ़ाइलों से संकुल के बारे में जानकारी प्राप्त करता है। ये फ़ाइलें
पैकेज के नाम पर रखा गया है, और इसमें a .पीसी विस्तार। अधिकांश प्रणालियों पर, पीकेजी-कॉन्फ़िगरेशन दिखता है
in /usr/lib/pkgconfig, /usr/शेयर/pkgconfig, /usr/स्थानीय/lib/pkgconfig और
/usr/स्थानीय/शेयर/pkgconfig इन फाइलों के लिए। यह कोलन में भी दिखेगा-
अलग (विंडोज़ पर, अर्धविराम से अलग) द्वारा निर्दिष्ट निर्देशिकाओं की सूची
PKG_CONFIG_PATH पर्यावरण चर।

पर निर्दिष्ट पैकेज का नाम पीकेजी-कॉन्फ़िगरेशन कमांड लाइन को के नाम के रूप में परिभाषित किया गया है
मेटाडेटा फ़ाइल, माइनस the .पीसी विस्तार। यदि कोई पुस्तकालय एकाधिक संस्करण स्थापित कर सकता है
साथ ही, उसे प्रत्येक संस्करण को उसका अपना नाम देना होगा (उदाहरण के लिए, GTK 1.2 में हो सकता है
पैकेज का नाम "gtk+" है जबकि GTK 2.0 में "gtk+-2.0" है)।

कमांड लाइन पर पैकेज नाम निर्दिष्ट करने के अलावा, किसी दिए गए के लिए पूरा पथ .पीसी
की जगह फाइल दी जा सकती है। यह एक उपयोगकर्ता को सीधे किसी विशेष को क्वेरी करने की अनुमति देता है .पीसी फ़ाइल.

विकल्प


निम्नलिखित विकल्प समर्थित हैं:

--मोडवर्जन
अनुरोध करता है कि कमांड पर निर्दिष्ट पुस्तकालयों की संस्करण जानकारी
लाइन प्रदर्शित की जाए। अगर पीकेजी-कॉन्फ़िगरेशन कमांड लाइन पर सभी पुस्तकालय पा सकते हैं,
प्रत्येक पुस्तकालय के संस्करण स्ट्रिंग को प्रति पंक्ति एक संस्करण, stdout पर मुद्रित किया जाता है। इसमें
मामला पीकेजी-कॉन्फ़िगरेशन सफलतापूर्वक निकलता है। यदि एक या अधिक पुस्तकालय अज्ञात हैं, पीकेजी-कॉन्फ़िगरेशन
एक गैर-शून्य कोड के साथ बाहर निकलता है, और स्टडआउट की सामग्री अपरिभाषित होती है।

--संस्करण
का संस्करण प्रदर्शित करता है पीकेजी-कॉन्फ़िगरेशन और समाप्त हो जाता है।

-- कम से कम-pkgconfig-संस्करण=संस्करण
pkg-config के कम से कम दिए गए संस्करण की आवश्यकता है।

--मदद एक सहायता संदेश प्रदर्शित करता है और समाप्त करता है।

--प्रिंट-त्रुटियां
यदि कमांड लाइन पर एक या अधिक मॉड्यूल, या उनकी निर्भरताएँ नहीं हैं
पाया गया, या यदि पार्सिंग में कोई त्रुटि होती है a .पीसी फ़ाइल, तो यह विकल्प कारण होगा
मुद्रित की जाने वाली समस्या की व्याख्या करने वाली त्रुटियां। जैसे "विधेय" विकल्पों के साथ
"--मौजूद" पीकेजी-कॉन्फ़िगरेशन डिफ़ॉल्ट रूप से चुपचाप चलता है, क्योंकि आमतौर पर इसका उपयोग किया जाता है
स्क्रिप्ट जो आउटपुट को नियंत्रित करना चाहते हैं। यह विकल्प अकेले इस्तेमाल किया जा सकता है (सिर्फ करने के लिए
कमांड लाइन पर मॉड्यूल का पता लगाने में प्रिंट त्रुटियों का सामना करना पड़ा) या अन्य के साथ
विकल्प। PKG_CONFIG_DEBUG_SPEW पर्यावरण चर इस विकल्प को ओवरराइड करता है।

--लघु-त्रुटियां
छोटे त्रुटि संदेश प्रिंट करें।

--मौन-त्रुटियां
यदि कमांड लाइन पर एक या अधिक मॉड्यूल, या उनकी निर्भरताएँ नहीं हैं
पाया गया, या यदि आ को पार्स करने में कोई त्रुटि होती है .पीसी फ़ाइल, तो यह विकल्प रहेगा
मुद्रित होने से समस्या की व्याख्या करने वाली त्रुटियां। जैसे "विधेय" विकल्पों के साथ
"--मौजूद" पीकेजी-कॉन्फ़िगरेशन डिफ़ॉल्ट रूप से चुपचाप चलता है, क्योंकि आमतौर पर इसका उपयोग किया जाता है
स्क्रिप्ट जो आउटपुट को नियंत्रित करना चाहते हैं। तो यह विकल्प केवल के साथ उपयोगी है
"--cflags" या "--modversion" जैसे विकल्प जो डिफ़ॉल्ट रूप से त्रुटियों को प्रिंट करते हैं। NS
PKG_CONFIG_DEBUG_SPEW पर्यावरण चर इस विकल्प को ओवरराइड करता है।

--एरर्स-टू-स्टडआउट
यदि मुद्रण त्रुटियां हैं, तो उन्हें डिफ़ॉल्ट stderr के बजाय stdout पर प्रिंट करें

- दाढ़
डिबगिंग जानकारी प्रिंट करें। यह से थोड़ा अलग है
PKG_CONFIG_DEBUG_SPEW पर्यावरण चर, जो "--प्रिंट-त्रुटियों" को भी सक्षम करता है।

प्रोग्राम को कंपाइल और लिंक करने के लिए निम्नलिखित विकल्पों का उपयोग किया जाता है:

--cflags
यह प्री-प्रोसेसर को प्रिंट करता है और संकुल को संकलित करने के लिए आवश्यक झंडे को संकलित करता है
कमांड लाइन, जिसमें उनकी सभी निर्भरताओं के लिए झंडे शामिल हैं। झंडे "संपीड़ित" हैं इसलिए
कि प्रत्येक समान ध्वज केवल एक बार प्रकट होता है। पीकेजी-कॉन्फ़िगरेशन एक गैर-शून्य कोड के साथ बाहर निकलता है यदि
यह कमांड लाइन पर एक या अधिक संकुल के लिए मेटाडेटा नहीं ढूँढ सकता।

--cflags-केवल-I
यह "--cflags" के -I भाग को प्रिंट करता है। यही है, यह हेडर खोज पथ को परिभाषित करता है
लेकिन कुछ और निर्दिष्ट नहीं करता है।

--cflags-केवल-अन्य
यह "--cflags" के कुछ हिस्सों को प्रिंट करता है जो "--cflags-only-I" द्वारा कवर नहीं किए जाते हैं।

--libs यह विकल्प "--cflags" के समान है, केवल यह लिंक फ़्लैग को प्रिंट करता है। साथ ही
"--cflags", डुप्लिकेट फ़्लैग मर्ज किए जाते हैं (उचित क्रम बनाए रखते हुए), और फ़्लैग्स के लिए
निर्भरता आउटपुट में शामिल हैं।

--केवल-लिब्स-एल
यह "--libs" के -L/-R भाग को प्रिंट करता है। यही है, यह पुस्तकालय खोज पथ को परिभाषित करता है
लेकिन यह निर्दिष्ट नहीं करता कि किन पुस्तकालयों से लिंक करना है।

--libs-केवल-एल
यह कमांड पर निर्दिष्ट पुस्तकालयों के लिए "--libs" के -l भाग को प्रिंट करता है
रेखा। ध्यान दें कि "--libs-only-l" और "--libs-only-L" का मिलन छोटा हो सकता है
-गतिशील जैसे झंडों के कारण "--libs" की तुलना में।

--libs-केवल-अन्य
यह "--libs" के उन हिस्सों को प्रिंट करता है जो "--libs-only-L" और "--libs-only- द्वारा कवर नहीं किए गए हैं।
l", जैसे "--pthread"।

--चर = चर नाम
यह पैकेज में परिभाषित चर का मान देता है .पीसी फ़ाइल। अधिकांश पैकेज
उदाहरण के लिए, चर "उपसर्ग" को परिभाषित करें, ताकि आप कह सकें:
$pkg-config --variable=prefix glib-2.0
/यूएसआर/

--परिभाषित-चर = चर नाम = चर मूल्य
यह एक चर के लिए वैश्विक मान सेट करता है, किसी भी में मान को ओवरराइड करता है .पीसी फाइलें.
अधिकांश पैकेज चर "उपसर्ग" को परिभाषित करते हैं, उदाहरण के लिए, ताकि आप कह सकें:
$ pkg-config --print-error --define-variable=prefix=/foo
--variable=उपसर्ग glib-2.0
/फू

--प्रिंट-चर
पैकेज में परिभाषित सभी चरों की सूची देता है।

--अनइंस्टॉल
आम तौर पर यदि आप पैकेज "फू" का अनुरोध करते हैं और पैकेज "फू-अनइंस्टॉल" मौजूद है,
पीकेजी-कॉन्फ़िगरेशन "-अनइंस्टॉल" संस्करण को प्राथमिकता देगा। यह संकलन/लिंकिंग की अनुमति देता है
अनइंस्टॉल किए गए पैकेज के खिलाफ। यदि आप "--अनइंस्टॉल" विकल्प निर्दिष्ट करते हैं, पीकेजी-कॉन्फ़िगरेशन
यदि कोई "-अनइंस्टॉल" पैकेज का उपयोग किया जा रहा है, तो सफलतापूर्वक वापस आ जाएगा, और वापस आ जाएगा
विफलता (झूठी) अन्यथा। (PKG_CONFIG_DISABLE_UNINSTALLED परिवेश
परिवर्तनशील रहता है पीकेजी-कॉन्फ़िगरेशन परोक्ष रूप से "-अनइंस्टॉल" पैकेज चुनने से, इसलिए if
वह चर सेट है, उनका उपयोग केवल तभी किया जाएगा जब आप "foo-
अनइंस्टॉल किया गया" कमांड लाइन पर स्पष्ट रूप से।)

--मौजूद

-- कम से कम-संस्करण = संस्करण

--सटीक-संस्करण=संस्करण

--मैक्स-संस्करण = संस्करण
ये विकल्प परीक्षण करते हैं कि कमांड लाइन पर संकुल या संकुल की सूची है या नहीं
के लिए जाना जाता है पीकेजी-कॉन्फ़िगरेशन, और वैकल्पिक रूप से क्या पैकेज की संस्करण संख्या मिलती है
कुछ प्रतिबंध। यदि सभी पैकेज मौजूद हैं और निर्दिष्ट संस्करण को पूरा करते हैं
अड़चनें, पीकेजी-कॉन्फ़िगरेशन सफलतापूर्वक निकलता है। अन्यथा यह असफल रूप से बाहर निकलता है। केवल
पहले संस्करण की तुलना करने वाले विकल्प को सम्मानित किया जाएगा। इस प्रकार के बाद के विकल्प
नजरअंदाज कर दिया जाएगा।

संस्करण-परीक्षण विकल्पों का उपयोग करने के बजाय, आप बस एक संस्करण दे सकते हैं
प्रत्येक पैकेज नाम के बाद बाधा, उदाहरण के लिए:
$ pkg-config --exists 'glib-2.0>= 1.3.4 libxml = 1.8.3'
यदि आप त्रुटि संदेश चाहते हैं तो --प्रिंट-त्रुटियों का उपयोग करना याद रखें। जब कोई आउटपुट विकल्प नहीं
को आपूर्ति की जाती है पीकेजी-कॉन्फ़िगरेशन, --exists निहित है।

--मान्य
पैकेज के सिंटैक्स की जाँच करता है .पीसी वैधता के लिए फ़ाइल। यह वही है
--exists सिवाय इसके कि निर्भरताएँ सत्यापित नहीं हैं। यह पैकेज के लिए उपयोगी हो सकता है
डेवलपर्स उनके परीक्षण करने के लिए .पीसी फ़ाइल जारी करने से पहले:
$ pkg-config --Validate ./my-package.pc

--msvc-वाक्यविन्यास
यह विकल्प केवल विंडोज़ पर उपलब्ध है। यह कारण बनता है पीकेजी-कॉन्फ़िगरेशन आउटपुट -l और -L . के लिए
माइक्रोसॉफ्ट विजुअल सी ++ कमांड लाइन कंपाइलर द्वारा मान्यता प्राप्त फॉर्म में झंडे, cl.
विशेष रूप से, के बजाय -एलएक्स:/कुछ/पथ यह प्रिंट करता है /libpath:x/कुछ/पथ, और इसके बजाय
of -लफू यह प्रिंट करता है foo.lib. ध्यान दें कि --libs आउटपुट में के लिए झंडे होते हैं
लिंकर, और /लिंक स्विच के बाद cl कमांड लाइन पर रखा जाना चाहिए।

-- परिभाषित-उपसर्ग
--डोंट-डिफाइन-उपसर्ग
ये विकल्प नियंत्रित करते हैं कि क्या पीकेजी-कॉन्फ़िगरेशन चर के मान को ओवरराइड करता है उपसर्ग
प्रत्येक .पीसी फ़ाइल में। --define-उपसर्ग के साथ, पीकेजी-कॉन्फ़िगरेशन के स्थापित स्थान का उपयोग करता है
उपसर्ग निर्धारित करने के लिए .pc फ़ाइल। --dont-define-prefix इस व्यवहार को रोकता है।
डिफ़ॉल्ट आमतौर पर --define-prefix है।

जब यह सुविधा सक्षम होती है और एक .pc फ़ाइल नाम की निर्देशिका में मिलती है
pkgconfig, उस पैकेज के उपसर्ग को का दादा-दादी माना जाता है
निर्देशिका जहां फ़ाइल मिली थी, और उपसर्ग चर उसके लिए ओवरराइड किया गया है
तदनुसार फाइल करें।

यदि .pc फ़ाइल में किसी चर का मान मूल, गैर-ओवरराइड से शुरू होता है,
का मूल्य उपसर्ग चर, फिर का ओवरराइड मान उपसर्ग के बजाय प्रयोग किया जाता है।
यह सुविधा को तब भी काम करने की अनुमति देता है जब चर का विस्तार किया गया हो
.पीसी फ़ाइल।

--उपसर्ग-चर = PREFIX
वेरिएबल का नाम सेट करें कि पीकेजी-कॉन्फ़िगरेशन के बजाय ओवरराइड करता है उपसर्ग का उपयोग करते समय
--define-उपसर्ग सुविधा।

--स्थैतिक
स्थिर लिंकिंग के लिए उपयुक्त आउटपुट लाइब्रेरी। इसका मतलब है कि किसी भी निजी सहित
आउटपुट में पुस्तकालय। यह .pc फ़ाइलों में उचित टैगिंग पर निर्भर करता है, अन्यथा a
बहुत बड़ी संख्या में पुस्तकालय सामान्य रूप से आउटपुट होंगे।

--सबकी सूची बनाओ
में पाए गए सभी मॉड्यूल की सूची बनाएं पीकेजी-कॉन्फ़िगरेशन पथ।

--प्रिंट-प्रदान करता है
दिए गए पैकेज द्वारा प्रदान किए गए सभी मॉड्यूल की सूची बनाएं।

--प्रिंट-आवश्यक
दिए गए पैकेज के लिए आवश्यक सभी मॉड्यूल सूचीबद्ध करें।

--प्रिंट-आवश्यकता-निजी
दिए गए पैकेजों को स्थिर लिंकिंग के लिए आवश्यक सभी मॉड्यूल सूचीबद्ध करें (देखें --स्थैतिक)।

वातावरण चर


PKG_CONFIG_PATH
खोज करने के लिए निर्देशिकाओं की एक कोलन-पृथक (विंडोज़ पर, अर्धविराम से अलग) सूची
पीसी फाइलों के लिए। डिफ़ॉल्ट निर्देशिका को खोजने के बाद हमेशा खोजा जाएगा
पथ; डिफ़ॉल्ट है लिबदिर/पीकेजीकॉन्फिग:दातादिर/pkgconfig जहां libdir लिबदिरी है
एसटी पीकेजी-कॉन्फ़िगरेशन और दातादिर के लिए दातादिर है पीकेजी-कॉन्फ़िगरेशन जब इसे स्थापित किया गया था।

PKG_CONFIG_DEBUG_SPEW
यदि सेट किया जाता है, तो कारण पीकेजी-कॉन्फ़िगरेशन सभी प्रकार की डिबगिंग जानकारी और रिपोर्ट मुद्रित करने के लिए
सभी त्रुटियां।

PKG_CONFIG_TOP_BUILD_DIR
मैजिक वेरिएबल के लिए सेट किया जाने वाला मान pc_top_builddir जो में दिखाई दे सकता है .पीसी
फ़ाइलें। यदि पर्यावरण चर सेट नहीं है, तो डिफ़ॉल्ट मान '$(top_builddir)'
उपयोग किया जाएगा। इस चर को मेकफ़ाइल के शीर्ष बिल्डडिर को संदर्भित करना चाहिए जहां
द्वारा रिपोर्ट किए गए संकलन/लिंक झंडे पीकेजी-कॉन्फ़िगरेशन उपयोग किया जाएगा। यह तभी मायने रखता है जब
एक पैकेज के खिलाफ संकलन/लिंक करना जो अभी तक स्थापित नहीं हुआ है।

PKG_CONFIG_DISABLE_UNINSTALLED
आम तौर पर यदि आप पैकेज "फू" का अनुरोध करते हैं और पैकेज "फू-अनइंस्टॉल" मौजूद है,
पीकेजी-कॉन्फ़िगरेशन "-अनइंस्टॉल" संस्करण को प्राथमिकता देगा। यह संकलन/लिंकिंग की अनुमति देता है
अनइंस्टॉल किए गए पैकेज के खिलाफ। यदि यह पर्यावरण चर सेट है, तो यह निष्क्रिय हो जाता है
कहा व्यवहार।

PKG_CONFIG_ALLOW_SYSTEM_CFLAGS
cflags में से -I/usr/include को स्ट्रिप न करें।

PKG_CONFIG_ALLOW_SYSTEM_LIBS
-L/usr/lib या -L/lib को libs से बाहर न निकालें।

PKG_CONFIG_SYSROOT_DIR
लक्ष्य sysroot में स्थित निर्देशिकाओं का उपयोग करने के लिए -I और -L को संशोधित करें। यह विकल्प है
उपयोगी जब क्रॉस-कंपाइलिंग पैकेज जो CFLAGS को निर्धारित करने के लिए pkg-config का उपयोग करते हैं और
एलडीएफएलजीएस। -I और -L को नए सिस्टम रूट को इंगित करने के लिए संशोधित किया गया है। इसका मतलब है कि एक
-I/usr/include/libfoo बन जाएगा -I/var/target/usr/include/libfoo a के साथ
PKG_CONFIG_SYSROOT_DIR /var/target के बराबर (समान नियम -L पर लागू होता है)

PKG_CONFIG_LIBDIR
डिफ़ॉल्ट की जगह लेता है पीकेजी-कॉन्फ़िगरेशन खोज निर्देशिका, आमतौर पर
/usr/lib/pkgconfig:/usr/शेयर/pkgconfig.

PKG_CONFIG_$PACKAGE_$VARIABLE
पैकेज पैकेज में वैरिएबल VARIABLE को ओवरराइड करता है। पर्यावरण चर
गैर-अल्फ़ान्यूमेरिक के साथ पैकेज का नाम और पैकेज चर ऊपरी आवरण होना चाहिए
अंडरस्कोर में परिवर्तित वर्ण। उदाहरण के लिए, सेटिंग
PKG_CONFIG_GLADEUI_2_0_CATALOGDIR में चर "catalogdir" को ओवरराइड करेगा
"ग्लैदेई-2.0" पैकेज।

पीकेजी-कॉन्फिग व्युत्पन्न चर


पीकेजी-कॉन्फ़िगरेशन कुछ मेटाडेटा चर सेट करता है जिनका उपयोग .pc फ़ाइलों में किया जा सकता है या यहां पर पूछताछ की जा सकती है
रनटाइम।

पीसी_पथ
द्वारा उपयोग किया जाने वाला डिफ़ॉल्ट खोज पथ पीकेजी-कॉन्फ़िगरेशन पीसी फाइलों की खोज करते समय। यह हो सकता है
के लिए एक प्रश्न में इस्तेमाल किया जा सकता है पीकेजी-कॉन्फ़िगरेशन मॉड्यूल ही:
$ pkg-config --variable pc_path pkg-config

पीसीफाइलदिर
पीसी फ़ाइल का स्थापित स्थान। इसका उपयोग के स्थान को क्वेरी करने के लिए किया जा सकता है
किसी विशेष मॉड्यूल के लिए .pc फ़ाइल, लेकिन इसका उपयोग .pc फ़ाइलें बनाने के लिए भी किया जा सकता है
स्थानांतरित करने योग्य उदाहरण के लिए:
उपसर्ग=${pcfiledir}/../..
exec_prefix=${उपसर्ग}
libdir=${exec_prefix}/ दायित्व
शामिलिर=${उपसर्ग}/शामिल करें

pc_sysrootdir
उपयोगकर्ता द्वारा निर्धारित sysroot निर्देशिका। जब sysroot निर्देशिका सेट नहीं की गई है,
यह मान है /. देखना PKG_CONFIG_SYSROOT_DIR अधिक के लिए पर्यावरण चर
विवरण।

pc_top_builddir
कॉल करते समय उपयोगकर्ता की शीर्ष बिल्ड निर्देशिका का स्थान पीकेजी-कॉन्फ़िगरेशन। यह उपयोगी है
अनइंस्टॉल की गई .पीसी फाइलों में गतिशील रूप से पथ सेट करने के लिए। देखें PKG_CONFIG_TOP_BUILD_DIR
अधिक जानकारी के लिए पर्यावरण चर।

विंडोज विशिष्टताओं


RSI पीकेजी-कॉन्फ़िगरेशन विंडोज़ पर डिफ़ॉल्ट खोज पथ को अनदेखा किया जाता है। इसके बजाय, खोज पथ है
की स्थापित निर्देशिका का उपयोग करके निर्मित पीकेजी-कॉन्फ़िगरेशन और फिर जोड़ना
lib\pkgconfig और शेयर\pkgconfig. इसे मानक का उपयोग करके बढ़ाया या बदला जा सकता है
ऊपर वर्णित पर्यावरण चर।

ऑटोकॉन्फ़ मैक्रो


PKG_CHECK_MODULES(वैरिएबल-प्रीफिक्स, मॉड्यूल [, एक्शन-आईएफ-फाउंड [, कार्रवाई-अगर-नहीं-मिला]])

मैक्रो PKG_CHECK_MODULES का उपयोग किया जा सकता है config.ac यह जाँचने के लिए कि क्या मॉड्यूल
मौजूद। एक सामान्य उपयोग होगा:
PKG_CHECK_MODULES([MYSTUFF], [gtk+-2.0 >= 1.3.5 libxml = 1.8.4])

इसके परिणामस्वरूप MYSTUFF_LIBS और MYSTUFF_CFLAGS प्रतिस्थापन चर, पर सेट होंगे
दी गई मॉड्यूल सूची के लिए libs और cflags। यदि कोई मॉड्यूल गुम है या उसमें है
गलत संस्करण, डिफ़ॉल्ट रूप से कॉन्फ़िगर एक संदेश के साथ निरस्त हो जाएगा। को बदलने के लिए
डिफ़ॉल्ट क्रिया, एक क्रिया-अगर-नहीं-फाउंड निर्दिष्ट करें। PKG_CHECK_MODULES प्रिंट नहीं होगा
कोई त्रुटि संदेश यदि आप अपना स्वयं का ACTION-IF-NOT-FOUND निर्दिष्ट करते हैं। हालांकि, यह होगा
चर MYSTUFF_PKG_ERRORS सेट करें, जिसका उपयोग आप यह प्रदर्शित करने के लिए कर सकते हैं कि क्या गलत हुआ।

ध्यान दें कि यदि कोई संभावना है तो PKG_CHECK_MODULES पर पहली कॉल नहीं हो सकती है
होता है, तो आपको PKG_PROG_PKG_CONFIG में एक स्पष्ट कॉल शामिल करना सुनिश्चित करना चाहिए
आपका config.ac.

यह भी ध्यान दें कि VARIABLE-PREFIX के बार-बार उपयोग की अनुशंसा नहीं की जाती है। के बाद
पहला सफल उपयोग, समान VARIABLE-PREFIX के साथ बाद की कॉलें बस होंगी
कॉल किए बिना पिछले उपयोग से सेट _LIBS और _CFLAGS चर का उपयोग करें
पीकेजी-कॉन्फ़िगरेशन फिर से।

PKG_PREREQ(न्यूनतम-संस्करण)
जांचता है कि उपयोग में pkg-config autoconf मैक्रोज़ का संस्करण कम से कम MIN- है
संस्करण। इसका उपयोग यह सुनिश्चित करने के लिए किया जा सकता है कि एक विशेष pkg-config मैक्रो होगा
उपलब्ध है.

PKG_PROG_PKG_CONFIG([मिन-संस्करण])

PKG_CONFIG चर को उपलब्ध सर्वोत्तम pkg-config में परिभाषित करता है, यदि आप उपयोगी हैं
pkg-config की जरूरत है, लेकिन PKG_CHECK_MODULES का उपयोग नहीं करना चाहते।

PKG_CHECK_MODULES_STATIC(वैरिएबल-प्रीफिक्स, मॉड्यूल [, एक्शन-आईएफ-फाउंड [, क्रिया-अगर-नहीं-
मिला]])
PKG_CHECK_MODULES को कॉल करने से पहले --static के माध्यम से स्थिर लिंकिंग सक्षम करता है।

PKG_CHECK_EXISTS(मॉड्यूल, [कार्रवाई-अगर-मिला], [कार्रवाई-अगर-नहीं-मिला])

यह देखने के लिए जांचें कि मॉड्यूल का एक विशेष सेट मौजूद है या नहीं। के समान
PKG_CHECK_MODULES (), लेकिन चर या प्रिंट त्रुटियों को सेट नहीं करता है।

PKG_CHECK_MODULES के समान, सुनिश्चित करें कि इसका पहला उदाहरण or
PKG_CHECK_MODULES को कॉल किया जाता है, या PKG_CHECK_EXISTS को मैन्युअल रूप से कॉल करना सुनिश्चित करें।

PKG_INSTALLDIR (निर्देशिका)

चर pkgconfigdir को उस स्थान के रूप में स्थान दें जहां एक मॉड्यूल स्थापित होना चाहिए
pkg-config .pc फ़ाइलें। डिफ़ॉल्ट रूप से निर्देशिका $libdir/pkgconfig है, लेकिन
DIRECTORY पास करके डिफ़ॉल्ट को बदला जा सकता है। उपयोगकर्ता के माध्यम से ओवरराइड कर सकता है
--with-pkgconfigdir पैरामीटर।

PKG_NOARCH_INSTALLDIR (निर्देशिका)

चर noarch_pkgconfigdir को उस स्थान के रूप में प्रतिस्थापित करें जहां एक मॉड्यूल चाहिए
आर्क-स्वतंत्र pkg-config .pc फ़ाइलें स्थापित करें। डिफ़ॉल्ट रूप से निर्देशिका है
$datadir/pkgconfig, लेकिन डिफ़ॉल्ट को डायरेक्ट्री पास करके बदला जा सकता है। उपभोक्ता
--with-noarch-pkgconfigdir पैरामीटर के माध्यम से ओवरराइड कर सकते हैं।

PKG_CHECK_VAR(वैरिएबल, मापांक, विन्यास-चर, [कार्रवाई-अगर-मिला], [कार्रवाई-अगर-नहीं-मिला])

मॉड्यूल से pkg-config वैरिएबल CONFIG-VARIABLE का मान प्राप्त करता है और
इसे VARIABLE में स्टोर करता है। ध्यान दें कि VARIABLE के बार-बार उपयोग की अनुशंसा नहीं की जाती है क्योंकि
यदि चर पहले से ही सेट है तो चेक छोड़ दिया जाएगा।

मेटाडाटा फ़ाइल वाक्य - विन्यास


संकुल के सेट में पुस्तकालय जोड़ने के लिए पीकेजी-कॉन्फ़िगरेशन के बारे में जानता है, बस एक स्थापित करें .पीसी फ़ाइल.
आपको इस फ़ाइल को स्थापित करना चाहिए libdir/pkgconfig.

यहाँ एक उदाहरण फ़ाइल है:
#यह एक टिप्पणी है
उपसर्ग=/होम/एचपी/अनस्ट # यह एक चर को परिभाषित करता है
exec_prefix=${prefix} # पहले के संदर्भ में दूसरे चर को परिभाषित करना
libdir=${exec_prefix}/ दायित्व
शामिलिर=${उपसर्ग}/शामिल करें

नाम: गोब्जेक्ट # मानव-पठनीय नाम
विवरण: जीएलआईबी के लिए वस्तु/प्रकार प्रणाली # मानव-पठनीय विवरण
संस्करण: 1.3.1
यूआरएल: http://www.gtk.org
आवश्यक है: ग्लिब-2.0 = 1.3.1
संघर्ष: फ़ोबार <= 4.5
लिब्स: -L${libdir} -lgobject-1.3
Libs.private: -एलएम
सीफ़्लैग: -I${includedir}/glib-2.0 -I${libdir}/glib/include

आप सामान्य रूप से कॉन्फ़िगरेशन का उपयोग करके फ़ाइल उत्पन्न करेंगे, ताकि उपसर्ग, आदि को सेट किया जा सके
उचित मूल्य। GNU Autoconf मैन्युअल में .pc फ़ाइलों जैसी फ़ाइलें बनाने की अनुशंसा की जाती है
समय को कॉन्फ़िगर करने के बजाय समय का निर्माण करें, इसलिए जब आप .pc फ़ाइल बनाते हैं तो यह स्वाद का विषय होता है
और वरीयता।

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

ध्यान दें कि चर संदर्भ "${foo}" लिखे गए हैं; आप शाब्दिक "${" से "$${" के रूप में बच सकते हैं।

नाम यह फ़ील्ड पैकेज के लिए मानव-पठनीय नाम होना चाहिए। ध्यान दें कि यह नहीं है
नाम एक तर्क के रूप में पारित किया गया पीकेजी-कॉन्फ़िगरेशन.

विवरण:
यह पैकेज का संक्षिप्त विवरण होना चाहिए

यूआरएल: एक यूआरएल जहां लोग पैकेज के बारे में अधिक जानकारी प्राप्त कर सकते हैं और डाउनलोड कर सकते हैं

संस्करण:
यह सबसे विशिष्ट-संभव पैकेज संस्करण स्ट्रिंग होना चाहिए।

आवश्यक है:
यह आपके पैकेज के लिए आवश्यक पैकेजों की अल्पविराम से अलग की गई सूची है। झंडे
निर्भर पैकेजों से आपके पैकेज के लिए रिपोर्ट किए गए फ़्लैग में मर्ज हो जाएगा।
वैकल्पिक रूप से, आप आवश्यक पैकेज का संस्करण निर्दिष्ट कर सकते हैं (इसका उपयोग करके)
ऑपरेटरों =, <, >, >=, <=); एक संस्करण निर्दिष्ट करने की अनुमति देता है पीकेजी-कॉन्फ़िगरेशन अतिरिक्त प्रदर्शन करने के लिए
विवेक जाँच। आप एक ही पैकेज का केवल एक बार उल्लेख कर सकते हैं आवश्यक है:
रेखा। यदि पैकेज का संस्करण निर्दिष्ट नहीं है, तो किसी भी संस्करण का उपयोग नहीं किया जाएगा
जाँच।

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

संघर्ष:
यह वैकल्पिक लाइन अनुमति देती है पीकेजी-कॉन्फ़िगरेशन अतिरिक्त विवेक जांच करने के लिए, मुख्य रूप से
टूटे हुए उपयोगकर्ता प्रतिष्ठानों का पता लगाने के लिए। वाक्यविन्यास समान है आवश्यक है: सिवाय
कि आप एक ही पैकेज को यहां एक से अधिक बार सूचीबद्ध कर सकते हैं, उदाहरण के लिए "foobar =
1.2.3, foobar = 1.2.5, foobar>= 1.3", यदि आपके पास ऐसा करने का कारण है। यदि कोई संस्करण
निर्दिष्ट नहीं है, तो आपका पैकेज उल्लिखित के सभी संस्करणों के साथ विरोध करता है
पैकेज। यदि कोई उपयोगकर्ता आपके पैकेज और एक विरोधी पैकेज का उसी पर उपयोग करने का प्रयास करता है
समय, तब पीकेजी-कॉन्फ़िगरेशन शिकायत करेंगे।

लिब्स: इस लाइन को आपके पैकेज के लिए विशिष्ट लिंक फ़्लैग देना चाहिए। कोई झंडा न जोड़ें
आवश्यक पैकेज के लिए; पीकेजी-कॉन्फ़िगरेशन उन्हें स्वचालित रूप से जोड़ देगा।

Libs.निजी:
इस लाइन में उपयोग में आने वाले किसी भी निजी पुस्तकालय की सूची होनी चाहिए। निजी पुस्तकालय हैं
पुस्तकालय जो आपके पुस्तकालय के माध्यम से उजागर नहीं होते हैं, लेकिन के मामले में आवश्यक हैं
स्थिर लिंकिंग। यह से अलग है आवश्यकता है।निजी इसमें यह पुस्तकालयों का संदर्भ देता है
जिसमें पैकेज फ़ाइलें स्थापित नहीं हैं।

सीफ्लैग्स:
इस लाइन को आपके पैकेज के लिए विशिष्ट कंपाइल फ़्लैग्स को सूचीबद्ध करना चाहिए। कोई भी न जोड़ें
आवश्यक पैकेज के लिए झंडे; पीकेजी-कॉन्फ़िगरेशन उन्हें स्वचालित रूप से जोड़ देगा।

onworks.net सेवाओं का उपयोग करके ऑनलाइन i686-w64-mingw32-pkg-config का उपयोग करें



नवीनतम Linux और Windows ऑनलाइन प्रोग्राम