विभिन्न डेवलपर्स PKG_CHECK_MODULES
(उदाहरण के लिए, this answer में) के उपयोग को हतोत्साहित करते हैं, लेकिन जहां तक मैंने देखा है उनके कारणों की कोई स्पष्ट, व्यापक व्याख्या नहीं है। तो, मैं पूछता हूं:PKG_CHECK_MODULES हानिकारक माना जाता है?
PKG_CHECK_MODULES
हानिकारक क्यों होगा?- विकल्प क्या हैं?
मैं, एक के लिए, आज पहली बार इसका इस्तेमाल किया। मैं, यह invaluably उपयोगी पाया विशेष रूप से इस तरह के जीटीके + के रूप में बहुत जटिल पुस्तकालय सेट, है, जहां मैं इन सब निर्भरता है से निपटने के लिए:
-I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0
-I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0
-I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/libpng12
-lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0
-lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0
-lgthread-2.0 -lrt -lglib-2.0
यद्यपि विलियम पर्सेल आमतौर पर प्रस्तावित 'पीकेजी-कॉन्फ़िगरेशन' के विकल्प के पीछे कारण हैं, वास्तविकता यह है कि जीटीके जैसे पूरे प्लेटफ़ॉर्म हैं जो 'गलत' तरीके से काम करते हैं और इसे ठीक करने के लिए उन सभी पुस्तकालयों की आवश्यकता होती है निर्देशिका को बदलने के लिए वे स्वयं को स्थापित करते हैं। इससे मौजूदा अनुप्रयोगों के निर्माण प्रणालियों के बड़े पैमाने पर टूटने का कारण बन जाएगा। चूंकि मुझे नहीं लगता कि 'गलत' तरीका वास्तव में किसी भी नुकसान का कारण बनता है, यह बदलने योग्य नहीं है। – ptomato
इसके अलावा, 'pkg-config' आपको समानांतर में स्थापित पुस्तकालयों (जैसे जीटीके 2 और जीटीके 3) के असंगत संस्करणों को रखने की अनुमति देता है। हालांकि मुझे यकीन है कि विलियम पर्सेल ने इस बारे में सोचा है और उसे यह समझाने में प्रसन्नता होगी कि इसे कैसे किया जाए ;-) – ptomato
@ptomato नहीं, मैं कड़ाई से एक गैर-गुई व्यक्ति हूं और कभी भी gtk के साथ सीधे व्यवहार नहीं किया है। लेकिन मेरा मानना है कि यह "एलडीएफएलजीएस = -एल $ (पीकेजी-कॉन्फिग - लिब्स-केवल-एल gtk + -2.0) सीपीपीएफएलजीएस = $ (पीकेजी-कॉन्फिग - सीएफएलएक्स gtk + -2.0) LIBS = $ जैसी चीजों को करने के लिए पूरी तरह से संभव होना चाहिए (pkg-config --libs-only-l gtk + -2.0) ", और उन विकल्पों को config.site में रखा जा सकता है। स्पष्ट होने के लिए, मुझे pkg-config पर कोई आपत्ति नहीं है, लेकिन मैं अपने उत्तर में उल्लिखित कारणों के लिए PKG_CHECK_MODULES को नापसंद करता हूं। –