SDL_Texture — неполный тип

день назад я установил библиотеку 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.

Где должна быть проблема? Необходимо использовать любой флаг для настройки файла?
Спасибо за помощь.

8

Решение

С вашей установкой все в порядке. SDL_Texture по своему дизайну является непрозрачным типом (то есть предназначен для работы только внутри SDL2), вы можете «передать его» в качестве указателя, но вы не можете получить доступ к внутренним объектам (или, например, создать SDL_Texture самостоятельно). делая malloc, потому что вы не знаете размер структуры). Если вы придерживаетесь

SDL_Texture *blah;

указатели и передать их функциям SDL2 у вас все будет хорошо.

SDL_sysrender.h — это внутренний заголовок, который, как вы упомянули, фактически определяет SDL_Texture для внутреннего использования библиотеки.

11

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]