gpt4 book ai didi

c++ - SDL_Texture - 不完整类型

转载 作者:IT王子 更新时间:2023-10-29 00:12:01 25 4
gpt4 key购买 nike

一天前,我安装了一个 SDL2 库。它还没有在 Debian Wheezy 中,所以我使用了 configure, make, make install 命令。

毕竟,当我尝试使用 SDL_Texture 时,我得到了这个错误:

error: forward declaration of ‘SDL_Texture {aka struct SDL_Texture}’
invalid use of incomplete type ‘SDL_Texture {aka struct SDL_Texture}’

在查找声明后,我发现所有内容都是 SDL_render.h 中的这两行:

struct SDL_Texture;
typedef struct SDL_Texture SDL_Texture;

完全没有定义。我认为我的安装缺少文件 SDL_sysrender.h。它在我下载的源代码中,但不在 SDL2 包含路径中。

应该是哪里出了问题?有必要为配置文件使用任何标志吗?感谢您的帮助。

最佳答案

您的安装没有任何问题。 SDL_Texture 在设计上是一种不透明类型(即,设计为仅由 SDL2 内部操作),您可以将其作为指针“传递”,但您无法访问内部结构(或自己创建 SDL_Texture,例如通过执行 malloc,因为您不知道结构的大小)。如果你坚持

SDL_Texture *blah;

指针并将它们传递给 SDL2 函数应该没问题。

SDL_sysrender.h 是一个内部 header ,正如您所提到的,它实际上定义了 SDL_Texture 以供库的内部使用。

关于c++ - SDL_Texture - 不完整类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18897076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com