コンパイルエラー OpenGL

[戻る]
かず 2004/10/04(月) 21:27:07
#include <GL/glut.h>
#include <stdlib.h>

void display(void)                
{
   static GLfloat spin = 0.0;
   spin = spin + 1.0;                
   if (spin > 360.0)
      spin = spin - 360.0;
   glClear(GL_COLOR_BUFFER_BIT);        
   glPushMatrix();                
   glRotatef(spin, 0.0, 0.0, 1.0);        
   glColor3f(1.0, 1.0, 1.0);            
   glRectf(-25.0, -25.0, 25.0, 25.0);        
   glPopMatrix();                

   glFlush();                    
   glutSwapBuffers();                
}

OpenGLプログラムをVC++でコンパイルしようとしても
error C3861: 'glPushMatrix': 識別子は、引数依存の照合を使用しても見つかりませ
ん。
error C3861: 'glRectf': 識別子は、引数依存の照合を使用しても見つかりません。

などのエラー表示がでてきてしまいます。
今までやったこと、
プロパティ→C/C++[全般]の[追加のインクルードディレクトリ]にC:\glut-3.7\include
リンカ[全般]の追加のライブラリディレクトリにC:\glut-3.7\lib\glut
リンカ[入力]の追加の依存ファイルにglut32.lib

しかも奇異なことに友人のPCでこれと同じことをするとコンパイルが通ってしまいまし
た。これは一体どのような原因なのでしょうか…?

wood 2004/10/05(火) 06:05:37
OpenGLの経験はありませんが最近PCの再インストールしましたので環境について

1.先ず、ご質問者のコンパイル環境が不明です
 ・VC6を前提に話しますと
  「インストール先フォルダ\VC98\Include\GL」には
   GL.H
   GLAUX.H
   GLU.H
  の3つしかありません
 >#include <GL/glut.h>
 これは、どこのインクルードを示しているのでしょうか

2.MSDN参照してみました「キーワードはglPushMatrixです」
 英語版の解説がありました、翻訳不得手なのですが
 >Import Library: Link with opengl32.lib.
 つまりインポートするライブラリは「opengl32.lib」となっているようです

3.>今までやったこと
 とありますが「glut-3.7」をどこか、からダウンロードしたんじゃないんですか
 この 「glut-3.7」を使った方法で作成するためには何を参考にしたか
 記述したほうが、より多くの回答を得られると思います

想像できる、コンパイル&実行環境は、「C:\glut-3.7\include」の記述から
マイクロソフト系のOSだろうと
>VC++でコンパイル
の記述からVisual C++ なんだろうけどバージョン不明
くらいしか、わかりません

なお、友達のPCとの環境の違いについて指摘がほしいのであれば
DOSのTREEコマンドでツリーリストを作成してそれぞれのPCのコンペアを
とればいいと思います

isshi 2004/10/05(火) 10:32:40
GLUTを「手」で正しくインストールする必要があります。
参考
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html#2.3

かず 2004/10/05(火) 12:36:25
>WOODさん
ご指摘ありがとうございます。
OSはXP、コンパイル環境はVisual Studio.NET 2003です。
以後ご参考に致します。

>isshiさん
ありがとうございます。
試してみます。

かず 2004/10/05(火) 20:41:40
[[解決]]
どうやらVc7のinclude先のフォルダの中身がおかしかったようです
(どのファイルの有無が原因だったのかはわからずじまいですが。)
友人のフォルダをコピーしたらうまくいきました。
ありがとうございました。

古いスレッドには追加発言できません。