Ubuntu

無法在 Ubuntu 上使用 Mingw-w64 交叉編譯 SDL2

  • June 10, 2020

SDL 下載

我在使用 WSL2 的 Ubuntu 上,我想創建一個可以在 Windows 上執行的執行檔。目前我可以為 linux 建構執行檔就好了。我將 SDL MinGw Windows 開發工具(上面的連結)下載到我的 /opt 文件夾中。當我執行make cross時,我收到以下輸出:

for arch in i686-w64-mingw32 x86_64-w64-mingw32; do \
   make install-package arch=$arch prefix=/usr/local/$arch; \
done
make[1]: Entering directory '/opt/SDL2-2.0.12'
*** ERROR: i686-w64-mingw32 or /usr/local/i686-w64-mingw32 does not exist!
make[1]: *** [Makefile:21: install-package] Error 1
make[1]: Leaving directory '/opt/SDL2-2.0.12'
make[1]: Entering directory '/opt/SDL2-2.0.12'
*** ERROR: x86_64-w64-mingw32 or /usr/local/x86_64-w64-mingw32 does not exist!
make[1]: *** [Makefile:21: install-package] Error 1
make[1]: Leaving directory '/opt/SDL2-2.0.12'
make: *** [Makefile:16: cross] Error 2

如果我搜尋我得到的那些

which i686-w64-mingw32-g++
/usr/bin/i686-w64-mingw32-g++

which x86_64-w64-mingw32-g++
/usr/bin/x86_64-w64-mingw32-g++

/usr/bin 在我的路徑上,我在文件夾中看到具有這些名稱的可執行/opt/SDL2-2.0.12文件。

其起源是當我嘗試使用 x86_64-w64-mingw32-g++ 而不是 g++ 編譯我的 SDL 程序時。

您需要創建前綴目錄:

mkdir /usr/local/{i686,x86_64}-w64-mingw32

引用自:https://unix.stackexchange.com/questions/592071