我正在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>
在谷歌上搜索了一整天之后,我似乎找不到原因的指标。我知道在Win(目前在Ubuntu15.04上)上编译时,头文件的SDL名称不同,但据我所知,我仍然使用Unix编译器。我是否需要为Windows提供单独的源代码,并包含不同的内容?我监测了mxe安装的错误,但没有收到任何错误,所以我无法想象这是问题所在。
如果需要,我可以提供一个更完整的环境图片,但我认为这可能是一个操作系统特定的错误/警告。
SDL2标头应包含如下:
#include <SDL.h>
不是:
#include <SDL2/SDL.h>
为什么
因为当你运行sdl2-config --cflags
时,它会输出一个类似于include/SDL2
的路径,如果你在它上执行ls
,你会得到SDL.h
而不是SDL2/SDL.h
。