Ошибка ссылки GLFW MinGW

Я пытался протестировать GLFW с C++ довольно долго, и у меня возникают постоянные проблемы с компоновщиком. Я довольно новичок в C++, хотя у меня есть опыт работы в Java и c#, работа непосредственно с компилятором довольно нова для меня. Вот моя информация о настройке.

язь: в Qt Творца

ОС: Windows 7 64-бит

Компилятор: MinGW32 4.8.1

01:23:26: Starting: "C:MinGWbinmingw32-make.exe" 
C:/MinGW/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory 'A:/workspace_cpp/Test-Debug'
g++ -Wl,-subsystem,console -mthreads -o debugTest.exe debug/main.o  -lglfw3 -lopengl32 
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../libglfw3.a(win32_monitor.c.obj):win32_monitor.::(.text+0x2c7): undefined reference to `CreateDCW@16'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../libglfw3.a(win32_monitor.c.obj):win32_monitor.c:(.text+0x358): undefined reference to `GetDeviceCaps@8'
Makefile.Debug:77: recipe for target 'debugTest.exe' failed
mingw32-make[1]: Leaving directory 'A:/workspace_cpp/Test-Debug'
Makefile:34: recipe for target 'debug' failed
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../libglfw3.a(win32_monitor.c.obj):win32_monitor.c:(.text+0x370): undefined reference to `GetDeviceCaps@8'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../libglfw3.a(win32_monitor.c.obj):win32_monitor .c:(.text+0x39e): undefined reference to `DeleteDC@4'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe:     c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../libglfw3.a(win32_monitor.c.obj): 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

код, который я тестирую, - это код на страница документации GLFW, Я использую моя собственная сборка GLFW, и уже пробовали это и несколько других потенциальных решений. Я пробовал использовать готовые библиотеки GLFW mingw, но я не мог заставить их работать.

1 ответов


решение, опубликованное enhzflep, должно было включать в библиотеку gdi32 при компиляции, делая все необходимые компоновщики -lglfw3 -lgdi32 -lopengl32, как недостающие методы,CreateDCW, GetDeviceCaps и DeleteDC - все внутри libgdi32.a на MinGW папку lib C:\MinGW\lib\libgdi32.a в этом случае.