我尝试在没有GLFW的情况下在Windows上初始化OpenGL ...她的一些相关代码:
#include <windows.h>
//...
if(!(g_hDC = GetDC(hWnd)))
return false;
if(!(iPixelFormat = ChoosePixelFormat(g_hDC, &pfdPixelFormat)))
return false;
if(!SetPixelFormat(g_hDC, iPixelFormat, &pfdPixelFormat))
return false;
if(!(g_hRC = wglCreateContext(g_hDC)))
return false;
if(!wglMakeCurrent(g_hDC, g_hRC))
return false;
//...
当我使用mingw32-g ++ -Wall -O2 -Wl编译时, - 子系统,windows -lopengl32 -mwindows Init.c我收到以下错误:
Temp\cclcIFFB.o:init.c:(.text+0x281): undefined reference to `_wglCreateContext@4'
Temp\cclcIFFB.o:init.c:(.text+0x2a0): undefined reference to `_wglMakeCurrent@8'
collect2.exe: error: ld returned 1 exit status
为什么这个链接器会出错?
答案 0 :(得分:1)
尝试将Init.c
放在之前-lopengl32
:
mingw32-g++ -Wall -O2 Init.c -Wl,--subsystem,windows -lopengl32 -mwindows
gcc
可以挑剔参数定位。
答案 1 :(得分:0)
您必须将OpenGL链接器定义库opengl32.lib
添加到要链接的库列表中。