我正在向SDL2和Android平台移植一个使用SDL 1.2的C++游戏.到目前为止一切顺利,除了一件事:当我尝试访问SDL_Window的字段时,编译器告诉我
error: invalid use of incomplete type 'SDL_Window {aka struct SDL_Window}'
Run Code Online (Sandbox Code Playgroud)
我认为我的SDL安装可能有问题.我使用以下命令从libsdl.org上的源代码编译了SDL 2.0.0:
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk APP_PLATFORM=android-18
Run Code Online (Sandbox Code Playgroud)
然后,我已经将新建的内容和目录中的文件复制libSDL2.so到了.这些文件被提供给CMake并由游戏代码引用.我设法转换每个SDL调用,现在我遇到了这个SDL_Window问题.$ANDROID_TOOLCHAIN/sysroot/usr/libinclude/$ANDROID_TOOLCHAIN/sysroot/usr/include/SDL
我的确在SDL的源代码快速搜索和发现,SDL.h包括SDL_video.h其中包含的类型定义SDL_Window上struct SDL_Window.然后我搜索了这个结构,并且在原始源存档中找不到任何名称的文件src/video/SDL_sysvideo.h.由于它不是API的文件,我怀疑我必须将它包含在我的代码中.
那么,如何在Android中找到SDL2中SDL_Window的定义(如果这是相关的)?
看来问题是缺乏SDL 2 API的知识.让我们记住,一个人不访问以下字段struct SDL_Window:有些函数可以获取窗口的大小和标志,例如SDL_GetWindowFlags和SDL_GetWindowSize.
所以问题绝对与SDL或Android版本的安装无关.对不起浪费时间,网络的人.