
STEP16:Visual Studioでのビルドと実行手順(ソリューションのビルド→デバッグ開始)
STEP16では、ここまで分割して作ってきたC言語RPG(main.c〜battle.c)を Visual Studioで確実にビルドして実行する ための手順をまとめます。
「プロジェクト作成 → ソース追加 → 実行(デバッグ開始)」まで、迷いやすいポイントも含めて整理します。
1. 事前準備(これだけ確認)
Visual Studioに必要なもの
Visual Studioは「C++の開発機能」が入っていないとCコードをビルドできません。
- Visual Studio Installer を開く
- ワークロード:C++ によるデスクトップ開発 をインストール(チェックON)
- インストール済みならOK
ここが入っていないと「ビルドできない」「cl.exeがない」系のエラーになります。
2. 新規プロジェクト作成(最短で動かす)
プロジェクト作成
- Visual Studio を起動
- 新しいプロジェクトの作成
- テンプレートで以下を選ぶ
・空のプロジェクト(C++)(英語UIなら “Empty Project”) - 名前を設定
・ソリューション名:rpg(例)
・プロジェクト名:rpg(例) - 作成
「コンソールアプリ」でもOKですが、最初は “空のプロジェクト” がいちばんトラブルが少ないです。
3. ソース・ヘッダを追加(分割構成を反映)
あなたの構成(例)に合わせて追加します。
追加するファイル一覧(再掲)
ソースファイル(Source Files)
- main.c
- platform.c
- input.c
- ui.c
- map.c
- services.c
- items.c
- characters.c
- enemies.c
- battle.c
ヘッダーファイル(Header Files)
- common.h
- platform.h
- input.h
- ui.h
- map.h
- services.h
- items.h
- characters.h
- enemies.h
- battle.h
追加手順
- ソリューションエクスプローラーでプロジェクトを右クリック
- 追加 → 新しい項目(または「既存の項目」)
- まずは main.c を追加
- 同様に残りの .c を追加
- Header Files に .h を追加
既にファイルがフォルダにある場合
- 追加 → 既存の項目 を使う(おすすめ)
すべての「.c」と「.h」を追加するとソリューションエクスプローラーは下図のようになります。

4. 重要:Cとしてコンパイルさせる設定(ここが落とし穴)
Visual Studioは「C++プロジェクト」扱いだと、拡張子が .c でも設定次第で挙動が変わることがあります。
確実に C言語として ビルドしたい場合は次を設定します。
「Cとしてコンパイル」を明示する
- プロジェクトを右クリック → プロパティ
- 構成プロパティ → C/C++ → 詳細
- コンパイル方式 を探す(または “Compile As”)
- Cコードとしてコンパイル (/TC) を選択
- OK
これで .c が確実にCコンパイラ扱いになります。
5. ビルド手順(ソリューションのビルド)
ビルド
- メニュー:ビルド → ソリューションのビルド
- ショートカット:Ctrl + Shift + B
成功すると、出力ウィンドウに “0 failed” などが出ます。
実行手順(デバッグ開始)
6.1 デバッグ実行(推奨)
- メニュー:デバッグ → デバッグ開始
- ショートカット:F5
6.2 デバッグなしで実行
- メニュー:デバッグ → デバッグなしで開始
- ショートカット:Ctrl + F5
ゲームのように「実行後すぐ閉じてほしくない」場合は Ctrl + F5 が便利です。
F5だと停止した瞬間にウィンドウが閉じることがあります。
7. よくあるトラブルと対処(ここだけ読めば助かる)
7.1 「main が見つからない」「エントリポイントがない」
原因の典型
- main.c がプロジェクトに追加されていない。
- main が別名になっている(int main(void) になっていない)
- 文字コードや構成が崩れている。
対処
- ソリューションエクスプローラーに main.c があるか確認
- main 関数が1つだけ存在するか確認
7.2 「外部シンボルが未解決」(LNK2019 / LNK2001)
原因の典型
- 関数宣言はあるが、その関数を実装している .c がプロジェクトに入っていない。
- 関数名のスペルミス(宣言と定義で違う)
- ヘッダの宣言と実装の引数が違う。
対処
- その関数が入っている .c をプロジェクトに追加
- 宣言(.h)と実装(.c)を見比べる。
7.3 「printf 文字化け」
原因
- WindowsのコンソールがUTF-8扱いでない場合がある。
対処(簡易)
- 表示文字は ASCII 中心にする(ゲームなのでこれが一番堅い)
- どうしても日本語を出したい場合は platform.c 側でコンソール設定を入れる(必要ならSTEP外で追加)
7.4 「system("cls") が動かない / 画面がちらつく」
- system("cls") 自体は動きますが、頻繁に呼ぶとちらつきやすいです。
改善案
- “ちらつき軽減” は将来的に バッファ描画 にすると改善します(学習用途なら現状でOK)
8. デバッグの基本(ゲーム開発で効く)
8.1 ブレークポイント
- 行番号の左をクリック → 赤い丸
- F5実行でその行で止まる。
8.2 変数の確認
- 止まっている間にマウスオーバーで値が見える。
- ウォッチに追加も可能
よく見ると便利な変数
- プレイヤー座標(x,y)
- タイル種別(E/C/I/H/B)
- HP/MP
- 所持金(gold)
- インベントリの個数
9. 実行ファイル(どこにできる?)
ビルド結果は通常ここに出ます。
- Debugビルド:
rpg\Debug\rpg.exe - Releaseビルド:
rpg\Release\rpg.exe
※フォルダ名や構成は環境で少し変わります。
10. まとめ(STEP16でできるようになったこと)
- Visual Studioで「空のプロジェクト」からCの分割構成を組み込める。
- ソリューションをビルドできる。
- F5/ Ctrl+F5 で実行できる。
- ありがちなリンクエラーの原因を切り分けられる。
- ブレークポイントで探索・戦闘の流れを追える。
