[英]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.