1

SDL2 と Android プラットフォームに、SDL 1.2 を使用する C++ ゲームを移植しています。SDL_Window のフィールドにアクセスしようとすると、コンパイラが教えてくれます。

error: invalid use of incomplete type 'SDL_Window {aka struct SDL_Window}'

SDL のインストールに問題がある可能性があります。次のコマンドを使用して、libsdl.org にあるソースから SDL 2.0.0 をコンパイルしました。

ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk APP_PLATFORM=android-18

次に、新しく組み込まれた と のディレクトリ内のファイルをコピーlibSDL2.soしまし$ANDROID_TOOLCHAIN/sysroot/usr/libた。これらのファイルは CMake に渡され、ゲームのコードによって参照されます。すべての SDL 呼び出しを変換することができましたが、この SDL_Window の問題に悩まされています。include/$ANDROID_TOOLCHAIN/sysroot/usr/include/SDL

SDL のソース コードを簡単に検索したところ、typedef onをSDL.h含む includesが見つかりました。次に、この構造体を検索しましたが、元のソース アーカイブの. これは API のファイルではないため、コードに含める必要はないと思います。SDL_video.hSDL_Windowstruct SDL_Windowsrc/video/SDL_sysvideo.h

では、Android用のSDL2でSDL_Windowの定義を見つける方法は?

4

2 に答える 2

5

問題は、SDL 2 の API に関する知識が不足していることにあるようです。のフィールドにはアクセスしないことを思い出してください: SDL_GetWindowFlagsSDL_GetWindowSizestruct SDL_Windowのようなウィンドウのサイズとフラグを取得する関数があります.

したがって、問題は SDL のインストールや Android ビルドとはまったく関係ありません。Web の皆さん、時間を無駄にして申し訳ありません。

于 2013-08-27T06:05:50.943 に答える