簡體   English   中英

在 linux 上使用 sdl 交叉編譯 c++

[英]Cross-compiling c++ with sdl on linux

我在 Arch Linux 上,我有一個 C++ SDL2 程序,包含在單個main.cpp文件中,我用這樣的命令為 Linux 編譯它:

g++ main.cpp -lSDL2 -lSDL2_image

現在我想為 windows 編譯它。 關於我應該怎么做的任何建議?

考慮使用Cygwin 當我需要在 windows 上編譯 C++ 代碼時,我按照此說明進行操作,它們對我來說很好。 您可以從安裝列表中 select 其他您需要的特定軟件包。

我建議使用我自己的工具quasi-msys2 ,它可以讓您重用MSYS2 (以及更多)提供的用於 MinGW 的預編譯 SDL2。

安裝 Clang、LLD、 makewgettarzstdgpg

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.zipSDL2_image-devel-??-mingw.zip

使用-L...指定帶有.a文件的目錄的路徑,使用-I...指定.h文件的路徑。 -lmingw32 -lmingw32 -mwindows -lSDL2main -lSDL2 -lSDL2_image添加到 linker 標志。

如果您遇到困難,請遵循此故障排除指南

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM