Cのコンパイル(OpenGL)(MinGW)


注意VScodeでデバッグできないです

更新中

動作環境

  • Windows 10 Pro
    • バージョン 1809
    • OSビルド 17763.1217
  • Visual Studio Code
    • バージョン: 1.45.1 (user setup)
    • 日付: 2020-05-14T08:27:35.169Z

1.準備するもの

MinGW(gcc)

Freeglut

Visual Studio Code

ダウンロードしたもの

2.インストール

MinGW

「Install」 をクリック


「Continue」 を2回クリック


* mingw32-base-bin
* mingw32-gcc-g++ -bin

の2つをクリックして 「Mark for Installation」 をクリック

上部メニューの 「Installtion」 から 「Apply Changes」 をクリック

そして 「Apply」 をクリック

「Close」 が出現したらをクリックして MinGW(gcc) のインストールは終了


Freeglut

「エクスプローラー」 から 「PC」「ローカルディスクC」 をクリック

※MinGWをインストールしたディスクがCではない場合はMinGWをインストールしたディスクを選択してください

「MinGW」 をクリック


「MinGW」 のフォルダに先程ダウンロードした 「Freeglut」 内の以下3つを移動
* 「bin」
* 「include」
* 「lib」

Freeglut は終了


Visual Studio Code

「同意する(A)」 を選択して 「次へ(N)」 をクリック

下4つを選択して 「次へ(N)」 をクリック


そして 「インストール(I)」 をクリックして 「完了(F)」 をクリック

Visual Studio Code のインストールは終了

3.パスを通す

[Windows][Pause] キーを押して [システム] を開く

[Pause] キーがわからない方はコントロールパネルを開き, [システムとセキュリティ][システム]


左側の 「システムの詳細設定」 をクリック

「環境変数(N)...」 をクリック


「システム環境変数(S)」「Path」 を選択して 「編集(I)...」 をクリック


右上の 「新規(N)」 から

C:\MinGW\bin

を追加して 「OK」 を3回クリックしてください

※MinGWをCディスクにインストールしていない場合はCの部分を適宜変更してください


確認のため 「コマンドプロンプト」「gcc」 と入力

画像のように 「gcc: fatal error: no input files
compilation terminated.」
と出れば終了

「'gcc' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
と表示される場合は 「windows10 パスが通らない」 などで検索してください

4.コンパイルする

英語 で新規フォルダーを作成

※英語名なら何でも大丈夫です

※フォルダーの場所はどこでも大丈夫です

※ドキュメントに作りました

Cのファイルを作成したファイルにコピーします

※私の大学の場合配布されている 「myShape.h」 も一緒にコピーします

コマンドプロンプトを開き

cd Documents\vscode_gccと入力

cd 作成した場所\作成したファイル名


gcc test.c -lfreeglut -lglu32 -lopengl32と入力

gcc ファイル名.c -lfreeglut -lglu32 -lopengl32

aと入力すると実行できる

5.Visual Studio Codeでコンパイルする(デバッグ)

Visual Studio Codeを開く


上部の 「ファイル(F)」 から 「フォルダーを開く...」 をクリック


先程作成したフォルダーを選択

※上記のようになっていれば大丈夫です


左のタブから 「拡張機能」 をクリック

※四角いブロックのアイコン

検索ボックスに 「C」 を入力して 「C/C++」 を選択

右の緑色の 「インストール」 をクリック


インストールが終了したらメニューバーで 「実行( R )」 から 「デバッグの開始」 をクリック


「C++(GDB/LLDB)」 をクリック

「launch.json」 が開いたら

  • "program": "プログラム名を入力してください (例: ${workspaceFolder}/a.exe)"
  • "miDebuggerPath": "/path/to/gdb"

  • "program": "${workspaceFolder}/a.exe"
  • "miDebuggerPath": "C:/MinGW/bin/gdb.exe"

に変更

launch.json=
{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 起動",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/a.exe",//ここ
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:/MinGW/bin/gdb.exe",//ここ
            "setupCommands": [
                {
                    "description": "gdb の再フォーマットを有効にする",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}


上部メニューの 「表示(V)」 から 「コマンドパレット...」をクリック

>C/++: 構成の編集(UI)と入力

「構成の追加」 をクリック


名前を 「gcc」 にして 「OK」 をクリック


コンパイラパスの右の下矢印をクリックして, 「C:/MinGW/bin/gcc.exe」 をクリック


コンパイラ引数に下記の3つを追加

-lfreeglut
-lglu32
-lopengl32


IntelliSenseモードを 「gcc-x64」 に選択


上記メニューの 「実行(R)」 から 「デバッグの開始」 をクリック


実行されたら成功

※デバッグしてもexeファイルが変化しません※