无法在 Ubuntu 上使用 Mingw-w64 交叉编译 SDL2

无法在 Ubuntu 上使用 Mingw-w64 交叉编译 SDL2

SDL 下载

我在 Ubuntu 上使用 WSL2,我想创建一个在 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 程序时。

答案1

您需要创建前缀目录:

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

相关内容