2011-05-16 19 views
8

मैं इस Tutorial से जीबी का उपयोग करते हुए उबंटू पर सरल सी उदाहरण संकलित करने की कोशिश कर रहा हूं। #include <libappindicator/app-indicator.h> के लिए आवश्यक पुस्तकालयों को शामिल करने के लिए मुझे जीसीसी के लिए तर्क के रूप में उपयोग करने के लिए क्या करना है?जीसीसी का उपयोग कर आवश्यक सी पुस्तकालय कैसे शामिल करें?

उत्तर

5

यदि आप apt-get, Synaptic Package Manager, आदि का इस्तेमाल किया (स्रोत से यह निर्माण बनाम) appindicator पुस्तकालय पाने के लिए, आप केवल libappindicator1 पैकेज स्थापित किया है या आप किया भीlibappindicator-dev स्थापित libappindicator हेडर फाइल प्राप्त करने के लिए? लिनक्स पैकेजों ने अक्सर संकलन-समय शीर्षकों से रनटाइम पुस्तकालयों को विभाजित किया है। इस तरह जिन लोगों को केवल गतिशील लिंक को संतुष्ट करने के लिए पुस्तकालयों की आवश्यकता होती है उन्हें अनियंत्रित शीर्षलेख स्थापित करने की आवश्यकता नहीं होती है। लेकिन चूंकि आप विकास कर रहे हैं, इसलिए आपको उन शीर्षकों की आवश्यकता है और इसलिए libappindicator-dev पैकेज की भी आवश्यकता है।

+0

मैंने libappindictaor-dev पैकेज जोड़ा। जीसीसी के साथ -एल तर्क के साथ मुझे क्या उपयोग करना है? – multiholle

+1

http://packages.ubuntu.com/hu/natty/i386/libappindicator-dev/filelist के अनुसार आपको '-I/usr/include/libappindicator-0.1/libappindicator' का उपयोग करने की आवश्यकता है – QuantumMechanic

37
-I <searchpath to include files> 
-L <searchpath to the lib file> 
-l<thelibname> 
+0

धन्यवाद! एक महान उत्तर – Anubis

+1

यह निर्वाचित उत्तर होना चाहिए – debuti

13

-l कमांड लाइन विकल्प का उपयोग करें। आप -L विकल्प के साथ लाइब्रेरी खोज पथ निर्दिष्ट कर सकते हैं। उदा:

gcc -o myprogram -lfoo -L/home/me/foo/lib myprogram.c 

यह फ़ोल्डर /home/me/foo/lib में स्थिर पुस्तकालय libfoo.a साथ myprogram लिंक करेगा।

1

आप यहां यही प्रयास एक जीटीके अनुप्रयोग बना रहा है कर रहे हैं, इसके बाद के संस्करण समाधान कहीं भी रूप में लागू होते हैं -l विकल्प और मैं विकल्प का उपयोग कर की तरह,

हालांकि जीटीके एप्लिकेशन के लिए आप भी pkg- उपयोग कर सकते हैं config जो इसे आसान बनाने के रूप में अपने पथ पूर्वनिर्धारित किया जा सकता है

http://www.freedesktop.org/wiki/Software/pkg-config

एक दिलचस्प उदाहरण यहां पाया जा सकता http://developer.gnome.org/gtk/2.24/gtk-compiling.html

2
gcc example.c -o example `pkg-config --cflags --libs appindicator-0.1` 

pkg-config libappindicator के लिए आवश्यक शामिल हैं और lib झंडे लायेगा और यह निर्भरता है। यह मानता है libappindictaor-dev पैकेज पहले से ही स्थापित है।