2010-08-13 10 views
10

मैं उबंटू 10.04 के तहत एक बहुत ही सरल ओपनजीएल-ऐप बनाने की कोशिश कर रहा हूं (मेरे पास 32 बिट सिस्टम है)।जी ++ लिंकर: /usr/lib/libGL.so.1: प्रतीकों को नहीं पढ़ सका: अमान्य ऑपरेशन

g++ -L/usr/lib simple.cpp -lglut 
/usr/bin/ld: /tmp/ccoPczAo.o: undefined reference to symbol 'glEnd' 
/usr/bin/ld: note: 'glEnd' is defined in DSO //usr/lib/libGL.so.1 so try adding it to the linker command line 
//usr/lib/libGL.so.1: could not read symbols: Invalid operation 
collect2: ld returned 1 exit status 

किसी को भी पता है मैं गलत क्या कर रही हूं:

जब मैं फ़ाइल को संकलित करने के कोशिश कर रहा हूँ, मैं त्रुटि संदेश मिलता है?

+0

वास्तव में अपने प्रश्न से संबंधित नहीं है, लेकिन मुझे लगता है कि आप glEnd() है, जो GL3 के बाद से हटा दिया गया है का उपयोग कर रहे करने के लिए धन्यवाद। यदि आप ओपनजीएल प्रोग्रामिंग शुरू कर रहे हैं, तो मैं सुझाव दूंगा कि आप "कोर प्रोफाइल" के साथ जीएल 3 + का उपयोग करना शुरू करें। ओल्ड ओपनजीएल न केवल धीमा है, बल्कि बहुत सीमित है। – glampert

उत्तर

17

आपको कमांड लाइन के साथ ही ग्लूट लाइब्रेरी/ओपनजीएल लाइब्रेरी को शामिल करने की आवश्यकता है। अपने आदेश पंक्ति के अंत तक -lGL जोड़ने का प्रयास करें

g++ -L/usr/lib simple.cpp -lglut -lGL 
+0

धन्यवाद। इसने मेरी समस्या को आंशिक रूप से हल किया, इसलिए मैं बाकी कर सकता था ('-lGLU' भी जोड़ना था)। – phimuemue

+9

कोई भी समझा सकता है कि यह '/usr/lib/libGL.so.1 क्यों प्रिंट करता है: प्रतीकों को पढ़ नहीं सका: अवैध ऑपरेशन'? ऐसा लगता है कि यह गायब पुस्तकालय को पढ़ने की कोशिश करता है, लेकिन असफल रहा। –

1

g++ main.cpp -o main.bin -lGL -lGLU -lglut 

साथ संकलन या OpenGL primer से फ़ाइल निम्न बनाने का प्रयास करें यह बहुत कॉम्पैक्ट है। इसने मुझे मेरी हैलो वर्ल्ड ओपनजीएल चलाने में मदद की। OpenGL Primer

CC = g++ 
SRC = main.cpp imageloader.cpp 
LIBS = -lGL -lGLU -lglut 
EXEC = cube.bin 

all: 
     $(CC) $(SRC) -o $(EXEC) $(LIBS) 

clean: 
     rm -rf $(EXEC) *~ 

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

  • कोई संबंधित समस्या नहीं^_^