Я портирую на SDL2 и платформу Android игру C++, использующую SDL 1.2. Все шло хорошо до сих пор за исключением одной вещи: когда я пытаюсь получить доступ к полям SDL_Window, компилятор говорит мнеПочему SDL_Window является неполным типом?
error: invalid use of incomplete type 'SDL_Window {aka struct SDL_Window}'
Я думаю, что моя установка SDL может быть неисправна. Я составил SDL 2.0.0 из источника, найденного на libsdl.org используя folloing команды:
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
, который содержит ЬурейеЕ SDL_Window
на struct SDL_Window
. Затем я искал эту структуру и не нашел ничего, кроме исходного исходного архива, в файле с именем src/video/SDL_sysvideo.h
. Поскольку это не файл API, я сомневаюсь, что я должен включить его в свой код.
Итак, как найти определение SDL_Window в SDL2, для Android (если это актуально)?
Я не помещаю свой SDL_Window в стек, у меня есть ошибка, когда я пытаюсь получить доступ к его членам, например, в 'SDL_Window * w; w-> flags'. – Julien