MinGW и GLUT неопределенная ссылка на ‘_imp ____ glutInitWithExit @ 12’

Я баловался в Python в течение года, и я начинаю с ++, так что я нуб. Я установил MinGW и все работало нормально, пока я не установил freeglut. Когда я запускаю следующий код:

#include <gl/glut.h>

int main()
{
return 0;
}

с помощью:

C:\code\cpp>g++ GLtest1.cpp

Я получаю это:

C:\Users\User\AppData\Local\Temp\ccABWOyv.o:GLtest1.cpp:(.text+0x1c): undefined
reference to `_imp____glutInitWithExit@12'
C:\Users\User\AppData\Local\Temp\ccABWOyv.o:GLtest1.cpp:(.text+0x3e): undefined
reference to `_imp____glutCreateWindowWithExit@8'
C:\Users\User\AppData\Local\Temp\ccABWOyv.o:GLtest1.cpp:(.text+0x60): undefined
reference to `_imp____glutCreateMenuWithExit@8'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: C:\Users\U
ser\AppData\Local\Temp\ccABWOyv.o: bad reloc address 0x20 in section `.eh_frame'

c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: final link
failed: Invalid operation
collect2.exe: error: ld returned 1 exit status

Я несколько раз устанавливал и переустанавливал MinGW, пытаясь решить проблему, но безрезультатно. Я пытался с помощью

#include <windows.h>

также. Я пытался установить 64-битные DLL-файлы — ничего. Если кто-то сталкивался с этим раньше или знаком с моей проблемой, некоторая помощь будет приветствоваться. Спасибо. Я предполагаю, что мне нужно что-то сделать с «связыванием», но я действительно не понимаю, почему «glut.h» должен отличаться от «gl.h» или «glu.h». ТАК ЧУВСТВИТЕЛЬНО!

Обновить:

Я попытался связать несколько вещей. Сначала я сделал это:

C:\code\cpp>g++ -c -o GLtest1.exe GLtest1.cpp -I"C:\MinGW\include"

и все получилось хорошо. Нет ошибок Тогда я попытался связать вещи вокруг и закончился с ошибкой:

C:\code\cpp>g++ -o GLtest1.exe -L"C:\MinGW\lib" -lglut32 -opengl32
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot fin
d -lglut32
collect2.exe: error: ld returned 1 exit status

Есть идеи здесь? glut32.dll существует как в System32, так и в SysWOW64.

3

Решение

Вам нужно ссылку на двоичный файл перенасыщения:

g++ GLtest1.cpp -lglut32
0

Другие решения

Мой случай: я переключил файлы lib и bin с 64bit на 32bit. И это сработало.

0

По вопросам рекламы [email protected]