1

我尝试在没有 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,--subsystem,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

为什么会出现此链接器错误?

4

2 回答 2

1

尝试把你的Init.c 之前-lopengl32

mingw32-g++ -Wall -O2 Init.c -Wl,--subsystem,windows -lopengl32 -mwindows 

gcc对论点定位可能很挑剔。

于 2012-10-22T14:14:07.400 回答
0

您必须将 OpenGL 链接器定义库添加opengl32.lib到要链接的库列表中。

于 2012-10-22T10:49:28.333 回答