Устранение ошибки #include - PullRequest
       48

Устранение ошибки #include

0 голосов
/ 31 декабря 2010

В верхней части моей программы у меня есть

#include "SDL/SDL_image.h"

И когда я пытаюсь скомпилировать, используя одну из функций SDL_image, он говорит, что

load_image()

не было объявлено в этомобъем.Что можно сделать, чтобы убедиться, что все настроено правильно?

Я включил его в настройки компоновщика.

1 Ответ

0 голосов
/ 31 декабря 2010

Сообщение об ошибке исходит от компилятора, а не от компоновщика.Таким образом, ваши настройки компоновщика не имеют никакого значения.

Если вы абсолютно невежественны, вы можете попросить компилятор (препроцессор) создать предварительно обработанный код, который он пытается скомпилировать.(Соответствующая опция gcc - -save-temps). Таким образом, вы можете увидеть, действительно ли объявлено load_image.Возможно, опция условной компиляции исключает объявление, или какой-то включаемый файл не найден, и вы пропустили сообщение об ошибке.Кроме того, если вы компилируете код C ++, который, как я полагаю, есть, материал SDL должен быть заключен в блоки extern C (хотя я считаю, что это приведет к ошибке компоновщика).Однако они уже могут быть включены в заголовки SDL.

Если ничего не помогает, загрузите предварительно обработанный вывод куда-нибудь, чтобы мы могли взглянуть.

РЕДАКТИРОВАТЬ: Согласно Изображение SDLдокументация v1.2 функция загрузчика изображений на самом деле называется IMG_Load, и я не вижу упоминания о load_image.

...