繁体   English   中英

为什么SDL_Window是不完整的类型?

[英]Why SDL_Window is an incomplete type?

我正在将使用SDL 1.2的C ++游戏移植到SDL2和Android平台。 到目前为止,一切都进行得很顺利,除了一件事:当我尝试访问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 libSDL2.so $ANDROID_TOOLCHAIN/sysroot/usr/lib ,并将文件复制到$ANDROID_TOOLCHAIN/sysroot/usr/lib libSDL2.so $ANDROID_TOOLCHAIN/sysroot/usr/include/SDL中的include/目录中。 这些文件被提供给CMake,并由游戏代码引用。 我设法转换了每个SDL调用,现在我陷入了这个SDL_Window问题。

我的确在SDL的源代码快速搜索,发现SDL.h包括SDL_video.h其中包含一个typedef SDL_Windowstruct SDL_Window 然后,我搜索了这个结构,除了在原始源存档中的名为src/video/SDL_sysvideo.h的文件中,什么都没有找到。 由于它不是API的文件,因此我怀疑是否必须将其包含在代码中。

那么,如何在Android的SDL2中找到SDL_Window的定义(如果相关)?

看来问题出在缺乏对SDL 2 API的了解。 让我们记住,没有访问struct SDL_Window的字段:有一些函数可以获取窗口的大小和标志,例如SDL_GetWindowFlagsSDL_GetWindowSize

因此,问题绝对与SDL的安装或Android版本无关。 很抱歉浪费时间,网络人士。

我希望您只能处理指向 SDL_Window对象的指针 ,而不实际将完整的SDL_Window对象放在堆栈上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM