C1083: include ファイルを開けません と出るんですが – プログラミング – Home

通知
すべてクリア

C1083: include ファイルを開けません と出るんですが

固定ページ 1 / 2

beren
 beren
(@beren)
ゲスト
結合: 19年前
投稿: 8
Topic starter  

OSはWindowXPです
最近Microsoft Visual C++ 2005 Express EditionというのをDLしopenGLをやろうとし
てとりあえずネット上にあった箱を表示させるだけのサンプルソースをコンパイルしよ
うとしたらタイトルのようにエラーが出ました。

1>c:\program files\microsoft visual studio 8\vc\include\gl\glut.h(137) : fatal
error C1083: include ファイルを開けません。'GL/gl.h': No such file or directory

オンラインヘルプを参照したのですが、フォルダはちゃんと存在し、また環境変数
INCLUDEが正しく設定されてない、というのがエラーの条件にあったのでユーザ環境変数
で INCLUDEをつくりC:\Program Files\Microsoft Visual Studio 8\VC\include を足
しましたがダメでした。ちなみに path は
C:\Program Files\Microsoft Visual Studio 8\VC\bin です。
以前までBorandのコンパイラを少し使ってたのですがそれ原因なんでしょうか。

またエラーで'GL/gl.h'がないとありますが、vc\include\GL\glut.hという風になってる
のでgl.hがどこから出たのかもわかりません。

プログラム上の問題じゃなくすみません・・。分かる方いたらお願いします。


引用解決済
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

Platform SDK はインストールされていますか?


返信引用
RAPT
 RAPT
(@RAPT)
ゲスト
結合: 22年前
投稿: 310
 

> 1>c:\program files\microsoft visual studio 8\vc\include\gl\glut.h(137) :
fatal
> error C1083: include ファイルを開けません。'GL/gl.h': No such file or directory
(snip)
> またエラーで'GL/gl.h'がないとありますが、vc\include\GL\glut.hという風になってる
> のでgl.hがどこから出たのかもわかりません。

いや、だから、gl/glut.h の 137 行目で、GL/gl.h を要求しているけども、
見つからない、というエラーでしょ。


返信引用
beren
 beren
(@beren)
ゲスト
結合: 19年前
投稿: 8
Topic starter  

返信ありがとうございます。
すみませんgl.hというのが存在してそれが必要だという事に気づきませんでした。
gl.hを手に入れinclude\GLに入れ、コンパイルしたらglu.hが足らないというのが出たの
で同じようにまたGLに入れました。
そしてコンパイルすると今度は、
c:\program files\microsoft visual studio 8\vc\include\gl\gl.h(17) : warning
C4068: 不明なプラグマがありました。
1>c:\program files\microsoft visual studio 8\vc\include\gl\gl.h(1527) :
warning C4068: 不明なプラグマがありました。
1>c:\program files\microsoft visual studio 8\vc\include\gl\glu.h(17) : warning
C4068: 不明なプラグマがありました。
1>c:\program files\microsoft visual studio 8\vc\include\gl\glu.h(585) :
warning C4068: 不明なプラグマがありました。
1>c:\program files\microsoft visual studio 8\vc\include\stdlib.h(406) : error
C2381: 'exit' : 再定義 ; __declspec(noreturn) が異なります。
1> c:\program files\microsoft visual studio 8\vc\include\gl\glut.h
(140) : 'exit' の宣言を確認してください。

と出ました。プラグマはよくわからずに//でコメント化したらなくなったんですが、再
定義がどうこうっていうのがオンラインヘルプに”宣言と定義は noreturn の使用と対
応している必要があります”がありますがどう書き換えればいいのか・・。
問題の2文がこれです。上:stdlib.h(406) 下:glut.h(140)

_CRTIMP __declspec(noreturn) void __cdecl exit(__in int _Code);
extern _CRTIMP void __cdecl exit(int);

追加質問ですみません、分かる方いたらお願いします。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> すみませんgl.hというのが存在してそれが必要だという事に気づきませんでした。
> gl.hを手に入れinclude\GLに入れ、コンパイルしたらglu.hが足らないというのが出た

> で同じようにまたGLに入れました。

…ひょっとしてそのgl.h, Borlandのコンパイラのやつを持ってきたんじゃないでしょ
ね?

再度確認: Platform SDK はインストールされていますか?


返信引用
beren
 beren
(@beren)
ゲスト
結合: 19年前
投稿: 8
Topic starter  

返信ありがとうございます。
仰られたとおりBorlandにあったやつをコピーして持ってきてます。実はいろいろサイト
を見てどこかのサイトからgl.hの入ったOpengl95.exeというのをDLしたんですが解凍
したgl.hの更新日時が1996年でした。その時に、そういやBorandのGLってフォルダ
にもglutとか入れてた気がするなぁと思い見たらgl.hがありその更新日時が2000年
で、新しいやつの方がいいだろうと思いVCのほうにコピーしました。
すいませんPlatform SDKインストールしましたが上記のエラーが出ます。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

Borlandのはすべて削除しましたか?
Platform SDKが提供するOpenGL関連のヘッダ・ライブラリを使っていますか?


返信引用
beren
 beren
(@beren)
ゲスト
結合: 19年前
投稿: 8
Topic starter  

レス遅れてすみません。
Borlandを消し、gl.h glu.h GLAux.h をSDKからVCへと持ってきました。(glut.hは入っ
てませんでしたがいいのでしょうか)
おかげで不明なプラグマ、のエラーが消えました。ありがとうございます。
しかし2行のエラーがまだ消えません。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

glut.hが怪しい。
素性のはっきりした(Win32/VC++対応)のものであるか、確認してください。


返信引用
beren
 beren
(@beren)
ゲスト
結合: 19年前
投稿: 8
Topic starter  

いろんなとこからDLして新しいのを入れてたので、どこから持ってきたのかはわから
ないやつでした。しかしGLUTによる手抜きOPENGLというサイトのWindows系OSにインスト
ールする、という章のリンクから持ってきたglut.hをVCに上書きしても同じようなエラ
ーが出ます。お手数かけてすみません、まだ怪しいと思われるところがあったら教えて
ください。


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320
 

「持ってくる」というのは何でのことですか?
どうも,ヘッダファイルを一個一個,元々のインクルードディレクトリにコピーしている
ようなイメージがあるのですけど……。

SDK入れたら,インクルードディレクトリを指定するところにSDKのINCLUDEディレクトリ
を追加するだけです。
ファイルをコピーする必要は一切ありません。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> しかしGLUTによる手抜きOPENGLというサイトのWindows系OSに
> インストールする、という章のリンクから持ってきたglut.hを
> VCに上書きしても同じようなエラーが出ます。

http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
↑ここに書かれたとおりにやってみました(VS2003)。

#include <GL/glut.h>

void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}

void init(void)
{
glClearColor(0.0, 0.0, 1.0, 1.0);
}

int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
init();
glutMainLoop();
return 0;
}

なんの問題もなく、一発おっけーでした。
エラーもウォーニングも報告されません。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

GLには、マルチプラットフォームになっているのでパッケージが何種類もあります。
VCにあったパッケージをインストールしないとエラーになります。
「επιστημηさん」が調べたとおりだと思います。
種類が違うので、「更新日時」も違うのは当然のことです。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235
 

「GLには」→「GLは」
修正します。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 1301
 

> http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
> ↑ここに書かれたとおりにやってみました(VS2003)。

お昼休みにちょこちょことVC2005express+PlatformSDKでも追試。
…無問題ですねぇ。


返信引用
固定ページ 1 / 2

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました