Проблема компоновщика с mingw, notepad++ и freeglut
Я студент, работающий с OpenGL на C++. Я пытаюсь заставить freeGLUT работать с MinGW. Я спрашиваю, потому что уже перепробовал кучу сайтов, много раз, и нет никакого четкого решения, по крайней мере, насколько мне известно. У меня эта проблема уже несколько месяцев.
Хотя использование Visual Studio было бы самой простой средой для использования, я бы предпочел использовать свою собственную настроенную среду.
Проблема, с которой я столкнулся, - это линкер. Мне, как новому пользователю, очень трудно понять, как использовать компоновщик.
Моя главная цель-просто скомпилировать любую базовую программу, например, эту тестовую:
#include <GL/glut.h> void displayMe(void) { glClear(GL_COLOR_BUFFER_BIT); glBegin(GL_POLYGON); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.5, 0.0, 0.0); glVertex3f(0.5, 0.5, 0.0); glVertex3f(0.0, 0.5, 0.0); glEnd(); glFlush(); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE); glutInitWindowSize(300, 300); glutInitWindowPosition(100, 100); glutCreateWindow("Hello world :D"); glutDisplayFunc(displayMe); glutMainLoop(); re turn 0; }Вот мои ошибки компоновщика:
> C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x25): > undefined reference to `__imp___glutInitWithExit' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x4c): > undefined reference to `__imp___glutCreateWindowWithExit' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x72): > undefined reference to `__imp___glutCreateMenuWithExit' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x8e): > undefined reference to `__imp_glClear' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x9c): > undefined reference to `__imp_glBegin' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0xb1): > undefined reference to `__imp_glVertex3f' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0xca): > undefined reference to `__imp_glVertex3f' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0xe7): > undefined reference to `__imp_glVertex3f' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x100): > undefined reference to `__imp_glVertex3f' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x109): > undefined reference to `__imp_glEnd' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x112): > undefined reference to `__imp_glFlush' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x14b): > undefined reference to `__imp_glutInitDisplayMode' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x15e): > undefined reference to `__imp_glutInitWindowSize' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x171): > undefined reference to `__imp_glutInitWindowPosition' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x18d): > undefined reference to `__imp_glutDisplayFunc' > C:\Users\Exhuman\AppData\Local\Temp\ccM8iHrk.o:main.cpp:(.text+0x196): > undefined reference to `__imp_glutMainLoop' collect2.exe: error: ld > returned 1 exit status
Я включаю ссылку для загрузки в свою пользовательскую рабочую среду, так как считаю, что ее настройка займет слишком много времени, компоненты MinGW, Notepad++ и NppExec программы могут быть скомпилированы с помощью "f9", если нет ошибок, и аналогично могут быть запущены с помощью "ctrl f9" после компиляции. Обычно я запускаю программу с помощью файла .bat в главном каталоге.
http://www.filedropper.com/env_1
Если бы кто-нибудь мог помочь мне в этом вопросе, я был бы очень признателен.
Что я уже пробовал:
Этот сайт: http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/ был самым близким, что я нашел, и я попытался связаться с автором для решения проблемы, и до сих пор он не отвечал.
Я также попытался найти MinGW и линкер, но жаргон находится вне моего понимания.