OpenGL 이제 막 시작한 초보입니다.
처음에는 FreeGLUT (또는 GLUT)을 사용하는 것이 쉽다고 인터넷에 나와있어서 그 쪽 방향으로 하려고 하고 있습니다.
그런데 공식 사이트에 나와있는 설명대로 해 보아도 링크 에러가 납니다.
<<갤러리에 자꾸 a와 u와 n을 이어서 쓰면 등록이 안된다는 메시지가 떠서 이미지 파일로 첨부했습니다>>
플랫폼은 제목 그대로
Windows 7 64bit
이고 컴파일은
Visual Studio 2010 (VC++)
로 하고 있습니다.
프로그램 소스도 제가 직접 작성한 것이 아니라 웹에 있는 것을 사용했기 때문에, 혹시 몰라서 GLEW도 설치 했습니다.
일단 버전은
freeglut - 2.8.0
glew - 1.7.0
이고 64비트 설정으로 빌드 했습니다.
glew는 공식 사이트에서 빌드하라는 말이 없었고, 라이브러리가 존재 했기 때문에 그것을 그대로 사용했습니다.
총 2번 시도 했는데
1번시도 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
C:Program Files (x86)Microsoft Visual Studio 10.0VCincludeGL
freeglut.h freeglut_ext.h freeglut_std.h glut.h (모두 freeglut-2.8.0 에 있던 파일)
glew.h wglew.h (모두 glew-1.7.0에 있던 파일)
C:Program Files (x86)Microsoft Visual Studio 10.0VClib
freeglut.lib freeglut_static.lib (freeglut-2.8.0)
glew32.lib (glew-1.7.0)
C:Windowssystem32
freeglut.dll
glew32.dll
을 복사 했습니다.
2번시도 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
C:Program Files (x86)Microsoft SDKsWindowsv7.0aincludeGL
freeglut.h freeglut_ext.h freeglut_std.h glut.h (모두 freeglut-2.8.0 에 있던 파일)
glew.h wglew.h (모두 glew-1.7.0에 있던 파일)
C:Program Files (x86)Microsoft SDKsWindowsv7.0alib
freeglut.lib freeglut_static.lib (freeglut-2.8.0)
glew32.lib (glew-1.7.0)
C:WindowssysWOW64
freeglut.dll
glew32.dll
을 복사 했습니다.
1번시도 후 모두 지운 뒤, 2번시도 하고, 다음에는 둘다 해보았으나 같은 에러가 발생합니다.
freeglut 메뉴얼에 있는 설명대로라면 복사하는 곳에 opengl32.lib이 있을 것이라고 했는데, 2번시도의 폴더에만 존재했습니다.
프로젝트 설정에서는 헤더 폴더와 라이브러리 폴더 전부 위의 경로를 포함하였고,
링크 입력은 opengl32.lib freeglut.lib glew32.lib 전부 넣었습니다.
다음이 소스 코드입니다. 출처 : http://hooktail.org/computer/index.php?OpenGL%BD%AC%BA%EE%A5%D7%A5%ED%A5%B0%A5%E9%A5%E0#content_1_0
// kaiten.c
#include <GL/glut.h>
#include <math.h>
#define DegToRad 57.29578
GLfloat theta = 0.0;
void idle()
{
theta += 0.0001;
if( theta >= 360.0 ) theta -= 360.0;
glutPostRedisplay();
}
void display()
{
glClear( GL_COLOR_BUFFER_BIT );
glBegin( GL_POLYGON );
glVertex2f( cos( DegToRad * theta ), sin( DegToRad * theta ) );
glVertex2f( -sin( DegToRad * theta ), cos( DegToRad * theta ) );
glVertex2f( -cos( DegToRad * theta ), -sin( DegToRad * theta ) );
glVertex2f( sin( DegToRad * theta ), -cos( DegToRad * theta ) );
glEnd();
glutSwapBuffers();
}
int main( int argc, char** argv )
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB );
glutInitWindowSize( 400, 400 );
glutCreateWindow( "kaiten01" );
glutDisplayFunc( display );
glutIdleFunc( idle );
glutMainLoop();
}
저걸 보고 어떻게 검색을 해야하냐면 LNK2019 를 검색해봐야죠 , ㅋㅋ 검색을 어떻게 해야하는지 알려주다니
성대님 제가 글 올린거 보시면 STFW 해봤다는 것은 아실텐데요. 또한 LNK2019는 프로그래밍 할줄 아시는 분들은 다 아시는 \'링크파일 제대로 안달아서 나는 오류\'인건 알고 있습니다. 그 링크파일을 도대체가 어떻게 해야되는 건지를 물어보고 있는 것이지요 .
이 글을 올리게 된건 찾아서 나온게 죄다 VS2008 이하의 설명이 나와있고, 그 비슷하게 해봐도 안되서 입니다 ㅠ
이것이 바로 비주얼 스튜디오로 시작하는게 문제인 대표적인 예
자꾸 시크한척 비판하지 마시고요. 저 g++ 쓰는 사람인데요. 이 플랫폼이 윈도우라서 지금 이렇게 하는 겁니다. 윈도우가 더이상 glaux같은 걸 더이상 포함 하지 않는다는 말도있고.. 그래서 경험자한테 직접 물어보고 싶어서 글 올린겁니다. 링크 관련 일반적 내용을 묻는게 아니고요, openGL, freeglut, glew 에 관한 라이브러리 관련 묻는겁니다. Windows에 관해서요.
참 그리고 드라이버는 AMD 쪽 쓰고 있습니다. 혹시라도 그쪽 드라이버 인스톨이 특별한 뭔가가 있을 수도 있겠지요. 물론 이것도 STFW했습니다 ㅠㅠㅠ
알겠어요 미안해요 , 뭐 고작 2번 시도해서 안된다고 징징거리는 글처럼 보여가지고요, 게다가 진짜 검색을 제대로 했으면 첫째 짤방하고 다른 짤방을 올렸을텐데 그게 아니라서 그냥 몇번 해보고 안되니까 대충 물어보면 답해주겠지 하고 얻어먹을수 있겠다 라는 사람으로 착각했네여 시크한척 해서 미안해여
저도 뭔가 더 자세한 걸 올리고 싶었는데, 지금 라이브러리 구성을 하나도 모르니까 완전 뭐가 부족한 건지도 모르겠고.. 혹시 링크 뒤에 함수이름 보고 뭔가 아실 분 있나 해서 올려봤어요 ㅠ
다 글럿함수들이네염...//(glew는 필요없어도 될것같은데..