PDA

View Full Version : OpenGl2



Mahdi13.ir
سه شنبه 14 مهر 1394, 14:23 عصر
سلام
من میخوام OpenGl رو شروع کنیم.
متاسفانه با نرم افزار DEV CPP وقتی یه سمپل رو کامپایل کردم با این خطا رو به رو شدم.

C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccSbszr9.o Untitled1.cpp:(.text+0x1c): undefined reference to `__glutInitWithExit@12'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccSbszr9.o Untitled1.cpp:(.text+0x3c): undefined reference to `__glutCreateWindowWithExit@8'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccSbszr9.o Untitled1.cpp:(.text+0x5c): undefined reference to `__glutCreateMenuWithExit@8'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccSbszr9.o Untitled1.cpp:(.text+0x75): undefined reference to `_imp__glClear@4'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccSbszr9.o Untitled1.cpp:(.text+0x7f): undefined reference to `glutSwapBuffers@0'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccSbszr9.o Untitled1.cpp:(.text+0xb8): undefined reference to `glutInitDisplayMode@4'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccSbszr9.o Untitled1.cpp:(.text+0xd2): undefined reference to `glutInitWindowSize@8'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccSbszr9.o Untitled1.cpp:(.text+0xf0): undefined reference to `glutDisplayFunc@4'
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ccSbszr9.o Untitled1.cpp:(.text+0xf8): undefined reference to `glutMainLoop@0'
C:\Documents and Settings\Administrator\Desktop\collect2.exe [Error] ld returned 1 exit status


ولی برنامه ای رو که داخلش به شکل پروژه وجود داره کامپایل میشه.
مشکل کجاست و راه حلش چیه؟
ممنون

hamedBB
دوشنبه 20 مهر 1394, 13:26 عصر
زمانی که شما با خطای undifined refrence رو به رو میشید چند دلیل می تونه مطرح باشه. درباره ی dev دقیقا نمی دونم چون تا حالا باهاش کار نکردم ولی دلیل اصلی می تونه این باشه که openGL از کتابخانه های پیش فرض C++‎‎ نیست و شما باید اون رو به محیط مورد استفادتون اضافه کنید. مسلما زمانی که شما کتابخانه ای رو ندارید نمی تونید از توابعش استفاده کنید!
دلیل دیگه میتونه این باشه که شما کتابخانه رو دارید ولی include در هدر فایلتون اضافه نشده. برای مثال include هایی مثل :


#include <GL/glut.h> //linux lib

#include <OpenGL/gl.h> //OS x libs
#include <OpenGL/glu.h>
#include <GLUT/glut.h>