SDL / SDL_image.h: нет такого файла или каталога - PullRequest
19 голосов
/ 27 июля 2011

Я пытаюсь следовать Учебникам Ленивого Фу . Но когда я пытаюсь запустить один из его примеров, я получаю эту ошибку компилятора:

ошибка: SDL / SDL_image.h: нет такого файла или каталога

Компилятор / компоновщик настроен правильно, я использую Code :: Blocks в Windows XP.

Однако проблема в том, что SDL_image.h не существует. Я проверил в папке, что якобы должен был быть. Я попытался загрузить библиотеку SDL снова и снова проверил, все еще нет файла SDL_image.h. Куда ушел файл SDL_image.h?

Библиотека, которую я скачал, была 'SDL-devel-1.2.14-mingw32.tar.gz' в разделе 'Библиотеки разработки' для Win32 по этой ссылке: http://www.libsdl.org/download-1.2.php

Ответы [ 7 ]

37 голосов
/ 27 июля 2011

Вам необходимо установить SDL_image отдельно. Он не поставляется с SDL.

3 голосов
/ 23 мая 2016

Вам нужно установить библиотеку SDL_image, как указано в других ответах, если вы работаете в системах на основе Debian, вы можете просто установить следующую команду:

sudo apt-get install libsdl-image1.2-dev
2 голосов
/ 25 октября 2011

В третьем уроке lazyfoo полностью объяснено.

По сути, вы должны добавить "-lSDL_image" в строку компиляции.

1 голос
/ 13 июня 2013

У меня была та же проблема "ошибка: SDL / SDL_image.h: нет такого файла или каталога", я решил это, выполнив следующее: http://wiki.codeblocks.org/index.php?title=Using_SDL_with_Code::Blocks ... посмотрите на картинку с именем "Параметры сборки проекта" и писать вещи внутри этих красных кружков, в моем случае это помогло. Удачи! (извините за плохой английский): P

1 голос
/ 26 августа 2012

В вашем случае, когда вы используете Windows, вы должны сначала установить sdl_image, а затем

#include <SDL_image.h>

, а не

#include <SDL/SDL_image.h>

Если вы использовали Linux и ваш sdl-image пакет установлен на /usr/include/SDL, тогда вам нужно использовать

#include <SDL_image.h>

В большинстве случаев при установке из исходного кода в linux.Возможно, ваш пакет не является резидентом /usr/include/SDL

. В подобных ситуациях я использую

#include <SDL/SDL_image.h>

, и он работает

0 голосов
/ 21 октября 2017

Для любого, кто попробует это, обновление будет фактически добавлять «-lSDL2_image» в строку компиляции. У всех остальных просто -lSDL_image ", который изменился после выпуска SDL2. После этого просто перейдите в корзину и добавьте все свои DLL-файлы в System32, и все должно быть готово!

0 голосов
/ 18 апреля 2013

Вы должны загрузить «SDL_image-devel-1.2.4-VC6.zip». Ссылка для скачивания блоков кода »http://www.libsdl.org/projects/SDL_image/release/SDL_image-devel-1.2.4-VC6.zip

скопировать файлы, имеющиеся в папке include, которые вы найдете внутри zipфайл после извлечения. И вставьте его в C: \ SDL \ include \ SDL в моем случае или в каталог, где присутствуют другие ваши SDL * .h.

Similary, скопируйте файлы, присутствующие в папке libzip-файла и вставьте его в C: \ SDL \ lib или в папку, где присутствуют другие файлы lib. Затем скопируйте все файлы * .dll, присутствующие в архиве, в C: \ windows \ system32. Далее вам необходимодобавьте "-lSDL_image" в строку компиляции, открыв настройки> компилятор и отладчик> компоновщик.

Затем откройте пустой файл проекта и добавьте пустой файл в проект, затем #include "SDL \ SDL_image.h" Надеюсь, что это работаетдля вас !!

Или

Сначала загрузите SDL_image-devel-1.2.4-VC6.zip по приведенной выше ссылке и перейдите по ссылке >> http://www.lazyfoo.net/SDL_tutorials/lesson03/windows/codeblocks/index.php для более подробного объяснения.

...