我移植到SDL2和Android平臺上的C++遊戲,使用SDL 1.2。一切都很順利,到目前爲止,除了一兩件事:當我嘗試訪問SDL_Window領域,編譯器告訴我爲什麼SDL_Window是不完整的類型?
error: invalid use of incomplete type 'SDL_Window {aka struct SDL_Window}'
我覺得我的SDL的安裝可能出現故障。我從使用folloing命令上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
並在include/
目錄$ANDROID_TOOLCHAIN/sysroot/usr/include/SDL
的文件。這些文件被提供給CMake並由遊戲代碼引用。我設法轉換每個SDL調用,現在我被這個SDL_Window問題困住了。
我的確在SDL的源代碼快速搜索,發現SDL.h
包括SDL_video.h
其中包含一個typedef SDL_Window
上struct SDL_Window
。然後我搜索了這個結構,除了在原始的源文件中找不到任何東西,在一個名爲src/video/SDL_sysvideo.h
的文件中。由於它不是API文件,我懷疑我必須將其包含在我的代碼中。
那麼,如何找到一個SDL2的SDL_Window定義,爲Android(如果這是相關的)?
我不把我的SDL_Window在棧上,我有錯誤,當我試圖訪問其成員像'SDL_Window *寬; W-> flags'。 – Julien