![](/img/trans.png)
[英]Manual for cross-compiling a C++ application from Linux to Windows?
[英]Cross-compiling c++ with sdl on linux
我在 Arch Linux 上,我有一个 C++ SDL2 程序,包含在单个main.cpp
文件中,我用这样的命令为 Linux 编译它:
g++ main.cpp -lSDL2 -lSDL2_image
现在我想为 windows 编译它。 关于我应该怎么做的任何建议?
我建议使用我自己的工具quasi-msys2 ,它可以让您重用MSYS2 (以及更多)提供的用于 MinGW 的预编译 SDL2。
安装 Clang、LLD、 make
、 wget
、 tar
、 zstd
、 gpg
。
git clone https://github.com/HolyBlackCat/quasi-msys2
cd quasi-msys2/
make install _gcc _SDL2 _SDL2_image
env/shell.sh
win-clang++ main.cpp `pkg-config --cflags --libs sdl2 SDL2_image`
这应该会产生a.exe
,您可以使用wine a.exe
(或仅./a.exe
,在运行env/shell.sh
之后)对其进行测试。
如何手动执行此操作:
为了完整起见,SDL2 本身为 MinGW 分发了预编译的二进制文件,这意味着手动设置并不难。 MinGW 的任何教程都应该有效。
从 package 管理器安装 MinGW。
下载并解压SDL2-devel-??-mingw.zip
和SDL2_image-devel-??-mingw.zip
。
使用-L...
指定带有.a
文件的目录的路径,使用-I...
指定.h
文件的路径。 将-lmingw32 -lmingw32 -mwindows -lSDL2main -lSDL2 -lSDL2_image
添加到 linker 标志。
如果您遇到困难,请遵循此故障排除指南。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.