我在 Linux 系统上。我试图编译一个包含 SDL 的 C++ 程序来生成一个 Windows 可执行文件。当我尝试包含它时它找不到 SDL.h。
在使用常规
g++
编译时,我能够包含SDL,并且输出程序运行没有错误。我希望能够从我的终端编译生成一个可以在 Windows 中运行的程序。
我为此安装了 mingw-w64。但是,当我尝试使用
x86_64-w64-mingw32-g++
编译我的程序时,它找不到 SDL 标头。
我尝试使用
x86_64-w64-mingw32-g++
为 Windows 做一个常规的 Hello World,以验证编译器是否实际运行,并且它确实生成了没有错误的可执行文件。
我尝试通过在 makefile 中将
g++
替换为 x86_64-w64-mingw32-g++
来编译包含 SDL 的代码。我希望它能生成没有错误的可执行文件,但它抛出了fatal error: SDL2/SDL.h: No such file or directory
.
我曾尝试搜索类似的问题,但我只能找到有关如何安装 mingw-w64 的教程,有关如何为 Windows 安装 SDL 的教程,以及说我需要将
#include <SDL.h>
替换为 #include <SDL2/SDL.h>
的教程,所以g++ 可以找到它。
我需要包括一些标志吗?我已经在用了
-lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2main
.
或者有什么奇怪的文件夹
g++
可以看到但是x86_64-w64-mingw32-g++
不能?
或者我正在使用的 SDL 库是否与 Linux 固有关联,我需要一个专门为 Windows 构建的不同 SDL 库?