交叉编译程序找不到 SDL2 标头

Cross-compile program can't find SDL2 headers

本文关键字:SDL2 标头 找不到 编译程序      更新时间:2023-10-16

我正在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