Ошибки связывания SDL_image

#c #gcc #cygwin #sdl-image

#c #gcc #cygwin #sdl-image

Вопрос:

Я сталкиваюсь с проблемами при связывании SDL_image в gcc 3 на cygwin под Windows 7.

Я получаю следующую ошибку:

 /usr/lib/gcc/i686-pc-cygwin/4.3.4/../../../../i686-pc-cygwin/bin/ld: cannot find -lSDL_image
  

Мой makefile выглядит следующим образом:

 all: rabbit

rabbit: main.o rabbit.o renderer.o
        g   -o rabbit main.o rabbit.o renderer.o -lSDLmain -lSDL -lSDL_image 

main.o: main.cpp rabbit.h 
        g   -c main.cpp 

rabbit.o: rabbit.cpp rabbit.h gameobject.h
        g   -c rabbit.cpp

renderer.o: renderer.cpp renderer.h
        g   -c renderer.cpp 

clean:
        rm -rf *o rabbit
  

Я сохраняю SDL_image.dll , SDL_image.lib, jpeg.dll , libpng12-0.dll , libtiff-3.dll и zlib1.dll в каталоге с моим исполняемым файлом. SDL_image.h также находится в правильном месте.

Пожалуйста, помогите, это ошибка уже несколько дней!

Ответ №1:

SDL_image не является частью основного дистрибутива SDL. Он должен быть установлен отдельно.

Проверьте, установлены ли вы /usr/local/lib/libSDL_image.a или общая библиотека.

Комментарии:

1. В этом каталоге у меня есть SDL_image.lib?

2. Затем вы должны добавить этот путь к библиотеке в строку компиляции: g -o rabbit main.o rabbit.o renderer.o -L/usr/local/lib -lSDLmain -lSDL -lSDL_image . Если это не сработает, попробуйте передать это как SDL_image.lib или -lSDL_image.lib

3. Не забудьте принять мой ответ. Рядом с вопросом есть флажок. Нажмите на него, чтобы выбрать мой ответ в качестве официального.