OpenGL

[OpenGL] GLEW 설치 및 적용 방법 (glew32.dll 오류해결)

usingsystem 2024. 3. 29. 11:05
728x90

GLEW는 크로스플랫폼으로 서로 다른 플랫폼에서 사용하여 서로다른 플랫폼간의 호환성 문제를 해결할 수 있습니다.

 

  • 확장 로딩: GLEW는 OpenGL 확장 로딩을 자동으로 처리하여 개발자의 프로세스를 단순화합니다.
  • 이식성: Windows, macOS 및 Linux와 같은 여러 플랫폼과 호환됩니다.
  • 확장 쿼리: 애플리케이션이 실행되는 컴퓨터에서 OpenGL 확장이 지원되는지 쉽게 확인할 수 있습니다.

 

다운로드 URL : https://glew.sourceforge.net/

 

GLEW: The OpenGL Extension Wrangler Library

The OpenGL Extension Wrangler Library The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extension loading library. GLEW provides efficient run-time mechanisms for determining which OpenGL extensions are supported on the tar

glew.sourceforge.net

Binaries 다운로드

압축해제

include 복사

다운받은 glew폴더의 include폴더안 GL폴더를

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\xx.yy.zzzzz\include 안에 복사해준다.

lib복사

다운받은 glew폴더의 lib폴더안 x64폴더를(ex - Downloads\glew-2.1.0-win32\glew-2.1.0\lib\Release\x64)

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\xx.yy.zzzzz\lib\x64 안에 복사해준다.

bin복사

다운받은 glew폴더의 bin폴더안 x64폴더를(ex - Downloads\glew-2.1.0-win32\glew-2.1.0\bin\Release\x64)

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\xx.yy.zzzzz\bin\Hostx64\x64 안에 복사해준다.

glewinfo.exe 실행

glewinfo.exe를 실행해보면 txt파일이 하나 생성된다 해당 txt파일에는 현재 컴퓨터의 그래픽카드 사양과 해당 그래픽카드에서 사용할 수 있는 Opengl버전과 익스트렉션, 사용가능 함수가 나온다.

MISSING일 결우 사용 불가, OK 사용가능

visualinfo.exe실행

visualinfo.exe 를 실행해보면 txt파일이 하나 생성된다 해당 txt파일에는 사용가능한 익스텐션의 모든기능이 나열된다.

테스트

반드시 #include <GL/glew.h>가  #include <GLFW/glfw3.h> 앞에 나와야 오류가 안난다.

#include <GL/glew.h>
#include <GLFW/glfw3.h>
#pragma comment(lib, "glew32.lib")
#pragma comment(lib, "opengl32.lib")
#pragma comment(lib, "glfw3.lib")
#include <stdio.h>

const unsigned int WIN_W = 300; // window size in pixels, (Width, Height)
const unsigned int WIN_H = 300;

int main(void) {
	// start GLFW
	glfwInit();
	GLFWwindow* window = glfwCreateWindow(WIN_W, WIN_H, "Hello GLEW", NULL, NULL);
	glfwMakeContextCurrent(window);
	// start GLEW
	glewInit();
	// checking OpenGL version (optional)
	const char* strVersion = (const char*)(glGetString(GL_VERSION));
	printf("version = %s\n", strVersion);
	fflush(stdout);
	// main loop
	while (!glfwWindowShouldClose(window)) {
		// draw
		glClear(GL_COLOR_BUFFER_BIT);
		// GLFW actions
		glfwSwapBuffers(window);
		glfwPollEvents();
	}
	// done
	glfwTerminate();
	return 0;
}

 

오류

glew32.dll를 시스템이 찾지 못하는 오류가 발생하기도 한다.

이때 x64에 넣어준 dll 파일을 C:\Windows\System32에 넣어주면 된다.

 

728x90