MinGW/GCC を使用した Windows での SDL2 セットアップに関する一般的な問題のトラブルシューティング
概要:
セットアップに慣れていない場合、プログラムで SDL2 を使用するのは難しい場合があります。 プロセス。この記事は、Windows で SDL2 を使用するとき、特に MinGW/GCC でコンパイルするときに発生する一般的な問題に対する包括的なガイドを提供することを目的としています。
一般的なエラー:
- SDL.h: そのようなファイルまたはディレクトリはありません (コンパイル中)
- SDL_main のさまざまな問題 (コンパイルまたはリンク時)
- 他の関数への未定義の参照 (リンク時)
- DLL の問題 (実行時)プログラム)
前文:
-
盲目的なアドバイスは避ける: #define の推奨事項には従わないでくださいSDL_MAIN_HANDLED または #undef main を理解せずに目的。
-
最初にコンソールからコンパイルします: コマンド ラインから直接コンパイルして、IDE 構成の問題を排除します。
-
正しい SDL2 ファイルをダウンロードします: 公式 SDL2 から SDL2-devel-2.0.x-mingw.tar.gz アーカイブを取得します。 website.
特定のエラーの対処:
SDL.h: そのようなファイルまたはディレクトリはありません
- コンパイラ フラグに -Ipath を追加します。ここで、path は SDL.h を含むディレクトリです (
SDL_main のさまざまな問題
- 署名 int main(int, char **) を持つ main 関数があることを確認してください。 .
- #define SDL_MAIN_HANDLED と #undef main を削除します。 present.
さまざまな関数への未定義の参照
-
SDL_...: に次のリンカー フラグを追加します。 >この順序: -lmingw32 -lSDL2main -lSDL2.
-
WinMain のみ: 上記と同じですが、正しいリンカー フラグを使用していることを確認します。
-
特定の関数 (SDL_main 以外):コンパイラ アーキテクチャ (32 ビットまたは64 ビット)。
DLL の問題
- 記事「MinGW で DLL の問題をデバッグするには?」を参照してください
その他問題:
-
プログラムがコンソール ウィンドウを開きます: リンカー フラグに -mwindows を追加します。
-
エラー 'SDL_VideoMode' はありませんでした宣言されました: SDL_VideoMode は SDL2 の一部ではありません。代わりに SDL2 固有の関数を使用してください。
-
デフォルトのファイル アイコン: .ico 形式でカスタム アイコンを作成し、.rc ファイルおよび icon.o ファイルとともにプロジェクトに含めて、次のように指定します。リンクするときにそれらを指定します。
以上がWindows 上の MinGW/GCC に関する一般的な SDL2 セットアップの問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。