2010-06-18 7 views

उत्तर

2

एक विकल्प, लेकिन यह परियोजना पर अन्य डेवलपर्स के लिए बहुत पोर्टेबल नहीं है - आप अपने टर्मिनल में केवल pkg-config gtk+-2.0 --cflags चला सकते हैं और इसे Build Settings -> Other C Flags में पेस्ट कर सकते हैं। मुझे यह जानने में दिलचस्पी होगी कि अन्य लोग इसके साथ एक और पोर्टेबल तरीके से कैसे निपटते हैं। आदर्श रूप से, यह अच्छा होगा कि पीकेजी-कॉन्फ़िगरेशन संकलन-समय पर अधिक सिस्टम-स्वतंत्र बनाने के लिए चलाए।

+0

मैंने यह भी कोशिश की है, और यह आदर्श नहीं है, लेकिन यह अब तक का सबसे अच्छा समाधान है। आदर्श रूप में, एक्सकोड के लिए एक जीटीके ढांचा होना चाहिए। यहां एक है, लेकिन पृष्ठ यह भी चेतावनी देता है कि यह अंतिम उपयोगकर्ता उपयोग के लिए पर्याप्त स्थिर नहीं है: https://sourceforge.net/apps/trac/gtk-osx/wiki/Build#Framework – ptomato

+0

ऐसा करने के बाद भी, मुझे अभी भी मिला है Gtk/gtk.h मेरे xcode में ऐसी कोई फ़ाइल या निर्देशिका नहीं है। क्या मुझसे यहां कुछ छूट रहा है? –

0

अधिक पोर्टेबल एक स्क्रिप्ट लिखना होगा जो एक .xcconfig फ़ाइल में pkg-config का आउटपुट लिखता है और फिर उसमें अपनी प्रोजेक्ट में शामिल होता है। बस इसे अपने स्रोत भंडार में शामिल न करें।

0
  • एक मेकफ़ाइल का उपयोग करें जो lib बनाने के लिए pkg-config और किसी अन्य खोल उपकरण का उपयोग करता है।
  • एक्सकोड में संकलित करने वाले lib के लिए एक छोटी, निर्भरता मुक्त API फ़ाइल बनाएं, और इसे एक्सकोड बिल्ड में निर्मित और निर्मित lib शामिल करें।

  • वैकल्पिक: मेकफ़ाइल में "रन स्क्रिप्ट" निर्माण चरण में मेकफ़ाइल निर्माण को समाहित करें।

0
  1. एक समग्र लक्ष्य
  2. के चरण बिल्ड में बनाएँ, अपनी परियोजना में एक रन स्क्रिप्ट

    #!/bin/bash 
    
    OTHER_CPLUSPLUSFLAGS="$(pkg-config gtk+-2.0 --cflags)" 
    echo -e "OTHER_CPLUSPLUSFLAGS = \$(inherited) ${OTHER_CPLUSPLUSFLAGS}" > MyApp.xcconfig 
    
  3. जोड़ने जानकारी में, MyApp.xcconfig अपने लक्ष्य विन्यास फाइल के रूप में स्थापित

  4. अपने ऐप लक्ष्य में बिल्ड चरणों में, एक निर्भरता के रूप में कुल लक्ष्य जोड़ें
  5. अपने संस्करण नियंत्रण में MyApp.xcconfig को शामिल न करें

एक दोष यह है कि जब तक आप कम से कम एक बार प्रत्यक्ष या परोक्ष रूप aggerate लक्ष्य का निर्माण, स्वत: पूर्ण है और न ही ठीक से काम करेंगे।

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