2009-12-31 8 views
20

मैं जीसीसी का उपयोग कर रहा हूं, एक्सलिब के साथ जोड़ने के लिए मुझे किस स्विच को जोड़ने की ज़रूरत है? खोज के बाद, मुझे लगता है कि -lX11 था, लेकिन उसने मुझे ld: library not found for -lX11xlib से जोड़ने के लिए मुझे क्या करने की ज़रूरत है?

मै मैक (10.6) का उपयोग कर रहा हूं, लेकिन मुझे मैक विशिष्ट कुछ भी पसंद नहीं है।

उत्तर

32

आप आमतौर पर झंडे आप उत्तीर्ण करने की आवश्यकता का निर्धारण करने के pkg-config उपयोग कर सकते हैं:

gcc my-program.c $(pkg-config --cflags --libs x11) -o my-program 
+0

अरे! मुझे नहीं पता था कि वहां था। और जब भी व्यक्तिगत कार्यक्रम इसे आपूर्ति करते हैं तो मुझे हमेशा उस तरह की सुविधा पसंद आई है (उदा। Http://root.cern.ch/ के साथ 'root-config')। – dmckee

+0

हम्म ... मेरा लगता है कि फिंक द्वारा प्रदान किया जाता है (मैक ओएस 10.5 पर)। – dmckee

+12

+1: मुझे जवाब पसंद है जब कोई मछली मांगता है और बदले में एक मछली पकड़ने की छड़ी प्राप्त करता है :) –

2

आपको -L/usr/X11/lib की भी आवश्यकता है। यह बिल्कुल मैक-विशिष्ट नहीं है, लेकिन आप पाएंगे कि इन libs का स्थान सिस्टम से सिस्टम में थोड़ा भिन्न होगा।

4
$ locate libX11 
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.6.2.dylib 
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.6.dylib 
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.a 
/Developer/SDKs/MacOSX10.4u.sdk/usr/X11R6/lib/libX11.dylib 
/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.6.2.0.dylib 
/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.6.dylib 
/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib/libX11.dylib 
/usr/X11/lib/libX11.6.2.0.dylib 
/usr/X11/lib/libX11.6.dylib 
/usr/X11/lib/libX11.dylib 
/usr/X11/lib/libX11.la 

मैं

gcc [...] -L/usr/X11/lib -lX11 [...] 

पुस्तकालयों के लिए खोज पथ सेट करने का प्रयास होगा।

3

आप हैरानी होगी, लेकिन कभी कभी -L/usr/X11R6/lib -lX11 जवाब -_- है।

1

उबंटू 12.10 (और शायद अन्य) sudo apt-get install libx11-dev आवश्यकता होती है।

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

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