在 Linux 和 Windows 上编译使用 SDL 的 C++ 代码时找不到 SDL.h

问题描述 投票:0回答:0

我在 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 库?

c++ linux cross-platform sdl mingw-w64
© www.soinside.com 2019 - 2024. All rights reserved.