Программа кросс-компиляции не может найти заголовки SDL2

Я работаю над проектом в c++ который использует автоинструменты для простой кросс-компиляции. Я sudo make installбудет MXE в моей системе. Когда просто с помощью ./configureи, таким образом, используя g++все идет гладко. Однако, используя ./configure --host=i686-w64-mingw32Я сталкиваюсь с этой ошибкой:

In file included from Game.cpp:1:0:
Game.hpp:4:22: fatal error: SDL2/SDL.h: No such file or directory
#include <SDL2/SDL.h>

После целого дня рыбалки вокруг Google я не могу найти индикатор того, почему. Я знаю, что при компиляции в Win(в настоящее время в Ubuntu 15.04) заголовки называются по-разному для SDL, но, насколько я понимаю, я все еще использую Unix-компилятор. Нужно ли иметь отдельный исходный код для Windows с другим включением? Я следил за установкой mxe на наличие ошибок и не получил ни одной, поэтому не могу себе представить, что это проблема.

При необходимости я могу предоставить более полную картину среды, но я полагаю, что это, возможно, специфическая ошибка ОС / предостережение.

1 ответ

Заголовки SDL2 должны быть включены следующим образом:

#include <SDL.h>

Не:

#include <SDL2/SDL.h>

Зачем?

Потому что когда ты бежишь sdl2-config --cflags его выходы путь, как это include/SDL2 и если вы делаете ls на это вы получите SDL.h не SDL2/SDL.h,

Другие вопросы по тегам