#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でこれと同じことをするとコンパイルが通ってしまいまし
た。これは一体どのような原因なのでしょうか…?
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のコンペアを
とればいいと思います
GLUTを「手」で正しくインストールする必要があります。
参考
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html#2.3
>WOODさん
ご指摘ありがとうございます。
OSはXP、コンパイル環境はVisual Studio.NET 2003です。
以後ご参考に致します。
>isshiさん
ありがとうございます。
試してみます。
どうやらVc7のinclude先のフォルダの中身がおかしかったようです
(どのファイルの有無が原因だったのかはわからずじまいですが。)
友人のフォルダをコピーしたらうまくいきました。
ありがとうございました。