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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Arduinoに関する質問 4 2023/08/07 21:19
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- Ruby Ruby / passenger のインストールについて 1 2023/01/30 18:31
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- MySQL Mac です。ローカルホストの phpMyAdmin にアクセスできません。 1 2023/06/06 17:14
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アプリケーションのDLLファイル...
-
<unistd.h>をVisualStudioでつ...
-
すべてのリビルド: 0 正常、 0 ...
-
VB ネイティブコンパイルについて
-
Borland C++ X
-
シリアル通信の受信待ちについて
-
gcc バージョン違いによるコン...
-
サクラエディタとコンパイラ
-
Cygwinで使用しているgccをダウ...
-
C言語で作ったらWindowsでもMac...
-
EXEファイルの逆コンパイル
-
C++プログラミングの文字化けの...
-
ビープ音が鳴りません・・・
-
ビルダーとは何ですか?
-
ifelseとswitch文
-
ダイナミックリンクとスタティ...
-
fatal error LNK1112
-
AVR Studio4 の使用...
-
プログラミングの質問です。学...
-
cygwin プログラミング コンパ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
math.hに含まれる関数が使えない
-
実行後にコンパイルに失敗しま...
-
c言語です コンパイルした時に...
-
ビープ音が鳴りません・・・
-
共有ライブラリの内容確認について
-
C言語をコンパイルするとコンピ...
-
すべてのリビルド: 0 正常、 0 ...
-
Verilog_HDLでのdefineとifdef
-
64ビットのlinuxで32ビットメモ...
-
C#で char型とstring型の比較で...
-
#If True Then の # って何??
-
gcc コンパイル killed
-
[COBOL] ソースの復帰
-
プレコンパイルの意味を教えて...
-
<math.h>ヘッダを入力している...
-
C言語で作ったらWindowsでもMac...
-
ヘッダーファイル『windows.h』...
-
define文のパラメータを実行時...
おすすめ情報