如何在Linux上交叉编译Windows的C SDL程序?

时间:2017-07-30 21:16:33

标签: c gcc mingw sdl cross-compiling

我有一个使用SDL的完美工作的C程序,我可以用

编译
gcc main.c -o program `sdl-config --libs` -lSDL

程序很简单,它带有一个黑色窗口,等待用户关闭它。没有问题或错误。我安装了MinGW,我正在尝试使用x86_64-w64-mingw32-gcc进行交叉编译;我想知道如何在Linux上对Windows进行交叉编译,并包含必要的库。

1 个答案:

答案 0 :(得分:2)

您可以像Linux版本一样调用MinGW的GCC,但您可能需要将sdl-config替换为一些手动配置,如下所示:

x86_64-w64-mingw32-gcc -Ipath/to/SDL/headers \
                       -Lpath/to/SDL/libs \
                       -o program main.o \
                       -lSDL -lSDLmain

您需要下载 SDL.lib SDLmain.lib 。我相信他们是开发zip的一部分。 (编辑:如评论中所述,您可能不需要使用lib但只能使用DLL。)

这可能会在运行时弹出控制台窗口。传入-mwindows标志以改为定位Windows子系统。