11

Visual C ++ Express EditionでGLUT(OpenGL Utility Toolkit)を使用してOpenGLアプリケーションをコンパイルするための基本的な手順は何ですか?

4

2 に答える 2

9
  1. Visual C ++ Express Edition(VCEE)をお持ちでない場合は、VCEEをダウンロードしてインストールしてください
  2. Visual C ++ Express Editionの既定のインストールは、.Netプラットフォーム用にビルドされます。OpenGLとGLUTはまだ.Netで完全にはサポートされていないため、Windowsプラットフォーム用にビルドする必要があります。このためには、MicrosoftPlatformSDKが必要です。(古いバージョンのVCEEを使用している場合は、MicrosoftPlatformSDKをダウンロードしてインストールします。VisualC++ExpressEditionは、 Windowsプラットフォーム用にビルドするように構成する必要があります。これらの手順はすべてこちらから入手できます。)
  3. GLUTがない場合は、NateRobinのWindowsポートであるGLUTをダウンロードして解凍します。
  4. Platform SDK / include /GL/ディレクトリにglut.hを追加します
  5. プロジェクトをglut.libにリンクします。([VCEEプロジェクトのプロパティ]-> [追加のリンカーディレクトリ]に移動し、 glut.libを持つディレクトリを追加します。
  6. glut.dllWindows/System32ディレクトリに追加して、 GLUTを使用するすべてのプログラムが実行時にそれを見つけられるようにします。

GLUTまたはOpenGLを使用するプログラムは、Visual C ++ExpressEditionでコンパイルする必要があります。

于 2008-08-18T07:00:32.600 に答える
6

Nate RobinのサイトのGLUTポートは2001年のものであり、それよりも新しいバージョン(.NET 2003以降)とはいくつかの非互換性があります。非互換性は、の再定義に関するエラーとして現れますexit()。このエラーが表示された場合は、次の2つの解決策が考えられます。

  1. のプロトタイプをあなたのexit()プロトタイプと交換して、それらが一致するようにします。これはおそらく最良の解決策です。glut.hstdlib.h
  2. より簡単な解決策は、プログラムであなたの#define GLUT_DISABLE_ATEXIT_HACK前にいることです。#include <gl/glut.h>

(クレジット:私はもともとTAMUヘルプデスクのWebサイトでこのアドバイスを見ました。)

.NET 2003がリリースされて以来、私はアプローチ#1を自分で使用しており、glut.hVC ++ 2003、VC ++ 2005、およびVC++2008で変更されたものと同じものを使用しています。

これが私が使用するglut.hの差分です。これは#1を実行します(ただし、#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. */
于 2008-09-22T01:02:59.560 に答える