#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. Не забудьте принять мой ответ. Рядом с вопросом есть флажок. Нажмите на него, чтобы выбрать мой ответ в качестве официального.