![无法在 Ubuntu 上使用 Mingw-w64 交叉编译 SDL2](https://linux22.com/image/174921/%E6%97%A0%E6%B3%95%E5%9C%A8%20Ubuntu%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20Mingw-w64%20%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%20SDL2.png)
我在 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