Rai*_*iku 1 c++ linux ubuntu sdl mingw
所以最近我在 Windows 10 上下载了 Linux 子系统和 Ubuntu。
我可以使用该命令将 SDL2 应用程序编译到 Linux g++,但每当我尝试使用i686-w64-mingw32-g++此命令执行此操作时,都会收到一条错误消息main.cpp:5:9: fatal error: SDL2/SDL.h: No such file or directory。
我使用的命令是i686-w64-mingw32-g++ main.cpp -w -lSDL2 -o main.exe.
https://i.stack.imgur.com/TlZmQ.jpg
有人知道如何解决这个问题吗?:(
[编辑]
所以现在我尝试使用以下命令指定必要文件的目录:g++ main.cpp -I/usr/include/SDL -L/usr/lib/x86_64-linux-gnu -w -Wall -Wextra -std=c++17 -lSDL2 -o main
这有效,但是当我将它与 mingw 一起使用时,它不起作用i686-w64-mingw32-g++ main.cpp -I/usr/include/SDL -L/usr/lib/x86_64-linux-gnu -w -Wall -Wextra -std=c++17 -lSDL2 -o main
小智 5
您需要在命令行上包含 SDL 的包含目录的路径。但是,您需要包含下载的mingw32 SDL的路径,而不是 /usr/include/SDL2。不同之处在于 /usr/include/SDL2 中的标头适用于 Linux,而 /usr/lib 中的库也适用于 Linux,但您需要链接到 Windows 库。
我通常做的就是下载 Mingw32 的开发库并将它们直接放入我的项目目录中。然后您需要做的就是将-ISDL2-2.0.8/i686-w64-mingw32/include -LSDL2-2.0.8/i686-w64-mingw32/lib 添加到命令行中,它将能够找到标头和它需要的库。最后,确保将SDL2-2.0.8/i686-w64-mingw32/bin/SDL2.dll复制到 Makefile 中的可执行目录。
另外,请记住也链接 SDLmain。它会为您创建一个 WinMain 等,然后调用您的 main 函数。
| 归档时间: |
|
| 查看次数: |
3316 次 |
| 最近记录: |