
OpenGLをコンパイルしようとしてCygwinで
「gcc -o sample (プログラムの名前).c
-I/usr/local/include -lglut32 -lglu32 -lopengl32」
と入力すると
「In file included from /usr/include/GL/glut.h:132,
from (プログラムの名前).c:1:
/usr/include/w32api/GL/glu.h:230: error ハクヒ。・ィ・鬘シ before '*' taken」
と表示されてコンパイルできません。「ハクヒ。・ィ・鬘シ」の部分は文字化けだと思います。このエラーメッセージから何が問題か分かる方がいらっしゃいましたら回答していただけると嬉しいです。CygwinはNetinstallからすべてのものをインストールしたので足りないものはないと思います。よろしくお願いします。
No.4ベストアンサー
- 回答日時:
> GLAPI const wchar_t * APIENTRY gluErrorUnicodeStringEXT (GLenum error);
において「wchar_t 型が定義されていない」という
既知の問題のようです。
http://www.cygwin.com/ml/cygwin/2004-02/msg00990 …
僕の環境ではコンパイルできたので、「あれれ」と
思っていたら、/include/w32api/GL/glu.h に
gluErrorUnicodeStringEXT という関数の定義が
ありませんでした。
僕の環境も古いのかな?
---
とりあえず解決策としては
#include<GL/glut.h>
#include<stdio.h>
#include<math.h>
を
#include<stdio.h>
#include<math.h>
#include<windows.h>
#include<GL/glut.h>
にしてみて下さい。
それでも駄目な場合は
# ifndef _WCHAR_T_DEFINED
typedef unsigned short wchar_t;
# define _WCHAR_T_DEFINED
# endif
を
/include/w32api/GL/glu.h
のトップに書き加えてください。
参考URL:http://www.cygwin.com/ml/cygwin/2004-02/msg00990 …
おかげ様でちゃんとコンパイル・実行できました!ありがとうございます!!ここ数日間ずっと試行錯誤していたのですが全然ダメで、解決策を知っている友達もいなくて困っていたので、解決できて本当に嬉しいです。ありがとうございましたm(__)m
それで、「一難去ってまた一難」とはよく言ったもので、実はやっているとまた新たに問題が発生しました。友達も同じ症状で悩んでいます。もしお時間がありましたらそちらも見てくださればと思います。では。
No.3
- 回答日時:
# cygnus ・・・って大部古い環境じゃないですか?
もしかしてお手伝いできるかもしれないので
コンパイルしようとしているプログラムを
提示してもらえますか?
今手持ちの cygwin 環境で
http://www.opengl.org/resources/code/basics/samp …
のサンプルコードをコンパイル実行できましたので
~>gcc -o teapot.exe teapot.c -lglut32 -lglu32 -lopengl32
あと、/usr/include/w32api/GL/glu.h
の230 行目に明らかに変なことがあったりしません?
参考URL:http://www.opengl.org/resources/code/basics/samp …
この回答への補足
ご回答ありがとうございます。
教えてくださったサンプルコードをダウンロードしてコンパイル・実行してみましたところ、どちらも正常にでき、ちゃんと立体のティーポットが出てきました。
コンパイルしようとしてできなかったプログラムを以下に書いておきます。学校の授業でやったことを自宅でも復習しようと思って作った簡単なサインカーブと円を描かせるプログラムです。
#include<GL/glut.h>
#include<stdio.h>
#include<math.h>
void display(void){
int i;
double a=0.9;//倍率の指定(0.0~1.0で指定)
//ウィンドウを塗りつぶす
glClear(GL_COLOR_BUFFER_BIT);
//描画の色を指定
glColor3d(1.0,0.0,0.0);
//直線の描画
glBegin(GL_LINES);//直線の描画開始
glVertex2d(-1.0*a,0.0);
glVertex2d(1.0*a,0.0);
glEnd();//直線の描画終了
//サイン曲線の描画
glBegin(GL_LINE_STRIP);//折れ線の描画開始
for(i=0;i<360;i++){
glVertex2d(a*(i*2/360.0-1.0), a*sin(3.14*i/180));//aは倍率
}
glEnd();//折れ線の描画終了
//円の描画
glBegin(GL_LINE_STRIP);//折れ線の描画開始
for(i=0;i<360;i++){
glVertex2d(a*cos(3.14*i/180), a*sin(3.14*i/180));//aは倍率
}
glEnd();//折れ線の描画終了
glFlush();
}
void init(void){
//背景の指定
glClearColor(1.0,1.0,1.0,0.0);
}
int main(int argc, char *argv[]){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
init();
glutMainLoop();
return 0;
}
こんな感じですσ(^^;)コメントアウトしている言葉は自分が後から見て分かりやすいようにと書いていたものなので気にしないで下さい。
また、/usr/include/w32api/GL/glu.hには230行目には以下のようなことが書かれていました。
GLAPI const wchar_t * APIENTRY gluErrorUnicodeStringEXT (GLenum error);
もし、これで何か分かるようなことがありましたら教えて下さい。よろしくお願いします。
No.2
- 回答日時:
Cygwinのインストール方法自体が間違っているのではないでしょうか?
正常にインストールされていたらcygnusディレクトリがあるはずです。
参考URL:http://www.alles.or.jp/~torutk/oojava/meadow/cyg …
この回答への補足
cygwinのホームページへ行って何度もset.upをダウンロード・実行しましたが、インストールはコンプリートしているのにやはりcygnusはインストールされていませんでした。いろいろ調べてみましたが、もともとsetup.exeの中にはcygnusがインストールされるようなものは含まれていないような気がするのですがどうなんでしょうか。もし間違えていたらすみません。
補足日時:2004/07/16 01:55No.1
- 回答日時:
この回答への補足
参考URLにあるcygnusの場所が分かりません。検索でcygnusと名のつくファイルを探しましたが見つかりませんでした。すみません、初心者なもので…。もし宜しければ教えて下さい。
補足日時:2004/07/14 22:44お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アプリケーションのDLLファイル...
-
<unistd.h>をVisualStudioでつ...
-
64ビットのlinuxで32ビットメモ...
-
VC++6.0 で使用可能な、"Platfo...
-
分割コンパイル
-
MVSマシンで0C7でABENDしたので...
-
#If True Then の # って何??
-
VS2010環境で2点ほど質問
-
[COBOL] ソースの復帰
-
gccでc++プログラムをコンパイ...
-
math.hに含まれる関数が使えない
-
python エラー
-
DLLファイルの逆コンパイラにつ...
-
組み込みソフト。ROM領域にデータ
-
multiple definitionというエラー
-
デバッグとビルドは何が違うの...
-
fortranでプログラムを実行する...
-
unsigned long long 型のフォー...
-
至急おねがいします
-
【VS2008 C++】2つのプロジェ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
共有ライブラリの内容確認について
-
64ビットのlinuxで32ビットメモ...
-
プレコンパイルの意味を教えて...
-
math.hに含まれる関数が使えない
-
c言語です コンパイルした時に...
-
ビープ音が鳴りません・・・
-
C言語で、配列を使ったsinカー...
-
Cのコンパイルでコメントアウト...
-
すべてのリビルド: 0 正常、 0 ...
-
MVSマシンで0C7でABENDしたので...
-
Delphiでクラスをオブジェクト...
-
#If VBA7 Thenに関して
-
DLLは解読可能ですか
-
C#で char型とstring型の比較で...
-
[COBOL] ソースの復帰
-
gcc バージョン違いによるコン...
-
gccでc++プログラムをコンパイ...
-
シリアル通信の受信待ちについて
おすすめ情報