Я работаю над проектом в c++
который использует автоинструменты для простой кросс-компиляции. Я sudo make install
d» 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 на наличие ошибок и не получил ни одного, поэтому не могу себе представить, что это проблема.
При необходимости я могу предоставить более полную картину среды, но я полагаю, что это, возможно, специфическая ошибка ОС / предостережение.
Заголовки SDL2 должны быть включены следующим образом:
#include <SDL.h>
Не:
#include <SDL2/SDL.h>
Потому что когда ты бежишь sdl2-config --cflags
его выходы путь, как это include/SDL2
и если вы делаете ls
на это вы получите SDL.h
не SDL2/SDL.h
,