문제

OpenGL 응용프로그램을 컴파일하는 기본 단계는 무엇입니까? GLUT(OpenGL 유틸리티 툴킷) Visual C++ Express Edition에서?

도움이 되었습니까?

해결책

  1. VCEE(Visual C++ Express Edition)가 없는 경우 다운로드하여 설치하세요. VCEE.
  2. Visual C++ Express Edition의 기본 설치는 .Net 플랫폼용으로 빌드됩니다.OpenGL과 GLUT는 아직 .Net에서 완전히 지원되지 않으므로 Windows 플랫폼용으로 빌드해야 합니다.이를 위해서는 Microsoft Platform SDK가 필요합니다.(이전 버전의 VCEE를 사용하는 경우 마이크로소프트 플랫폼 SDK.Windows 플랫폼용으로 빌드하려면 Visual C++ Express Edition을 구성해야 합니다.이 모든 지침을 사용할 수 있습니다 여기.)
  3. GLUT가 없으면 Nate Robin의 GLUT를 다운로드하여 압축을 풉니다. GLUT의 Windows 포트.
  4. 추가하다 글루트.h 너의 ~에게 플랫폼 SDK/포함/GL/ 예배 규칙서
  5. 프로젝트를 다음과 연결하세요. 글루트.lib.(VCEE로 이동 프로젝트 속성 -> 추가 링커 디렉터리 그리고 다음과 같은 디렉토리를 추가하십시오. 글루트.lib.
  6. 추가하다 글루타.dll ~로 윈도우/시스템32 GLUT를 사용하는 모든 프로그램이 런타임에 찾을 수 있도록 디렉토리.

GLUT 또는 OpenGL을 사용하는 프로그램은 이제 Visual C++ Express Edition에서 컴파일되어야 합니다.

다른 팁

Nate Robin 사이트의 GLUT 포트는 2001년 버전이며 그보다 최신 버전의 Visual Studio(.NET 2003 이상)와 일부 비호환성이 있습니다.비호환성은 재정의에 대한 오류로 나타납니다. exit().이 오류가 표시되면 가능한 해결 방법은 두 가지가 있습니다.

  1. 교체 exit() 프로토타입 glut.h 당신의 것과 함께 stdlib.h 일치하도록.이것이 아마도 최선의 해결책일 것입니다.
  2. 더 쉬운 해결책은 #define GLUT_DISABLE_ATEXIT_HACK 당신 전에 #include <gl/glut.h> 귀하의 프로그램에서.

(만기 크레딧:나는 원래 이 조언을 TAMU 헬프 데스크 웹사이트.)

나는 .NET 2003이 나온 이후로 접근 방식 #1을 사용해 왔으며 동일한 수정된 방법을 사용했습니다. glut.h VC++ 2003, VC++ 2005 및 VC++ 2008.

다음은 #1을 수행하는 glu.h의 차이점입니다(그러나 적절하게는 #ifdef blocks 이전 버전의 Visual Studio에서도 계속 작동합니다.)

--- c:\naterobbins\glut.h       2000-12-13 00:22:52.000000000 +0900
+++ c:\updated\glut.h    2006-05-23 11:06:10.000000000 +0900
@@ -143,7 +143,12 @@

 #if defined(_WIN32)
 # ifndef GLUT_BUILDING_LIB
-extern _CRTIMP void __cdecl exit(int);
+/* extern _CRTIMP void __cdecl exit(int);  /* Changed for .NET */
+#  if _MSC_VER >= 1200
+extern _CRTIMP __declspec(noreturn) void __cdecl exit(int);
+#  else
+extern _CRTIMP void __cdecl exit(int);
+#  endif
 # endif
 #else
 /* non-Win32 case. */
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top