C言語でグラフィックプログラミングをやることになったのですが、最初の方でエラーが発生します。includepathを更新しろと出ているのですがやり方がわかる人はいますか?
C言語でグラフィックプログラミングをやることになったのですが、最初の方でエラーが発生します。includepathを更新しろと出ているのですがやり方がわかる人はいますか? 使っているのは#include <GL/glut.h>です。
ベストアンサー
(以下の内容は十分確認したつもりですが、万一的が外れていたらすみません) 写真の状態であれば、 VS CODE にて、 ファイル メニュー>フォルダーを開く そのC言語ファイルを入れているフォルダを指定します。 すると VS CODE の画面がパッと変わるかもしれませんが、左のリストに、フォルダの下にもともとのそのC言語ファイルが表示されているのがあると思います。 そのファイルを開きます。 これで直る場合があります。 (多くの人がこれでつまづいているようです) 直らない場合: 問題の #iclude の行をクリック すると電球アイコンが出ます。電球をクリック すると、メニューが開き、一番上に、"includePath" 設定の編集 とあります。それをクリック。 すると、Microsoft C/C++ 拡張機能の、IntelliSense の構成 という画面が開きます。 その画面の下のほうに、コンパイラ パス という項目があります。 この部分の説明で、 「たとえば、より正確な IntelliSense を有効にするためには /usr/bin/gcc を指定します。」 とあります。 なので、GCC(Cコンパイラの1つ)が良いみたいなので、GCC の Windows 移植版である「MinGW」をインストールします。 (もう質問者さんはインストールされているかもしれませんが) MinGW のインストール: その公式サイト https://osdn.net/projects/mingw/ にアクセスして、小題「Download」の Windows mingw-get-setup.exe をクリックします。 すると自動的にダウンロードが始まるはずです。 ダウンロードしたインストーラーを起動して、画面が出たら、 Install ボタン、次の画面で特に設定変更せずに Continue ボタン、これでインストールが開始されます。 見ていると、途中で、インストールが一時停止するので、もう一度 Continue ボタン すると、別の画面が開き、どのタイプの mingw をインストールするのか選ぶことになります。 リストの上から2番目、ming32-base-bin の □ をクリックし、Mark for Installation を選びます。 画面左上の Installation メニュー>Apply Changes を選びます。 さらに新しい画面が出てきます。Apply ボタンを押します。 すると再びダウンロード等インストールが開始されます。 しばらく待ちます。 画面上部に All changes were applied successfully; you may now close this dialogue. と表示されたら、Close ボタンを押します。 開いている画面を閉じます。 これで MinGw のインストールが終わりました。 VS CODE の画面に戻り、 コンパイラパス の部分にインストールした mingw の gcc.exe のパスを記入します。 たとえば、C:\MinGw\bin\gcc.exe などです。 次に glut の各ファイルの位置を確認します。 glutをダウンロードした際、glut-3.7.6-bin.zip の中には、 glut.def glut.h glut32.dll glut32.lib README-win32.txt の5つのファイルがあります。 [glut.h] 先ほどインストールした MinGw の中に include\GL というフォルダがあります。 そこにはすでに、gl.h, glext.h, glu.h などのファイルがありますが、 そこへ追加で、glut.h を入れます。 この状態で、一度 VS CODE のそのC言語プログラムファイルを閉じて、 左のリストから再度開きます。 すると、#include 部分のエラー表示は消えていると思います。 以上で質問者さんへの回答は済んだのではと思いますが、 (何か不都合があった場合はすみませんが…) ついでに、コンパイルするには、 VS CODE の 表示 メニュー>ターミナル を開き、 gcc そのC言語ファイル とすると、 undefined reference to `__glutInitWithExit' というようなエラーが大量に出ます。 ダウンロードの中に入っていた、glut32.dll をそのC言語ファイルと同じ場所に置き、 gcc そのC言語ファイル glut32.dll とすると a.exe という実行ファイルが出来ます。 (※dllは本来exeとは別の場所(c:\windows\system等)に置いてソフトのほうから読み込むコードを書くものですが、試しに実行したい場合はこれが手っ取り早いようです) VS CODE のターミナルから ./a これを実行すると glut のウィンドウが表示されます。 しかし、エクスプローラーから a.exe を起動すると、黒い画面が一緒に出ます。 gcc そのC言語ファイル glut32.dll -mwindows で黒い画面は消えると思います。 万一、消えない場合は gcc のリンカのオプションで -Wl,--subsystem,console があるとそれが優先されて表示されてしまうらしいです。(まぁ大丈夫だとは思います) (なお、ダウンロードしたほかのファイル、glut.def, glut32.lib については正直ちょっとよくわかりませんでした。今回の作業においては必要なかったです) 調べてみると glut は 1998年で開発が終了しており、後継として freeglut があります。freeglutは2022/2/6に新しいバージョンが出ています。とりあえず著名な glut を使用して、古いことが原因の問題が発生したら、freeglut へ移行すると良いのではと思います。
1人がナイス!しています