几天来,我一直在尝试为 Windows 10 x64 交叉编译 QEMU。我对 minwg 一点也不熟悉。我读了很多页面,但大多数时候它似乎太旧了,或者不适合使用这种方法。我必须使用补丁交叉编译 QEMU,然后我必须按照说明进行操作。
我为 Ubuntu 进行了编译,这很容易,但对于 Windows 10 x64,我没有可执行文件,我可能错过了一些东西。
我认为我的问题与“前缀”有关,但我不确定。我这样说是因为为 Windows 10 编译的人为 Debian 写了这些说明。
targets="i686-w64-mingw32 x86_64-w64-mingw32"
for target in $targets; do
echo Building $target...
mingw=/usr/$target/sys-root/mingw
mkdir -p /qemu/bin/ndebug/$target
cd /qemu/bin/ndebug/$target
rm -r *
../../../configure --cross-prefix=$target- --disable-guest-agent-msi --disable-werror --extra-cflags="-I $mingw/include" --extra-ldflags="-L $mingw/lib" && make
done
就我而言,我对“--cross-prefix”部分的这条指令有疑问,因为我的“/usr/”文件夹中有这个
我已经在论坛上询问过与我使用相同语言的人,但没有人可以帮助我,至少对于 Ubuntu 来说是这样。
我的环境:
sudo apt install mingw-w64
sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev
sudo apt-get install build-essential
sudo apt-get install git
我试过了,但我没有 exe 文件
../../../configure --host=i686-w64-mingw32 --enable-debug
../../../configure --host=x86_64-w64-mingw32 --enable-debug
我尝试过但收到错误 截屏
也许我没有针对 Windows 10 进行编译的部分。
编辑:在团队的帮助下我找到了部分解决方案:
我一直只使用 MSYS2 mingw 64 进行构建
PACMAN -S mingw-w64-x86_64-meson mingw-w64-x86_64-ninja mingw-w64-x86_64-python mingw-w64-x86_64-python-sphinx mingw-w64-x86_64-python-sphinx_rtd_theme mingw-w64-x86_64-autotools mingw-w64-x86_64-cc
Pacman -S mingw-w64-x86_64-capstone mingw-w64-x86_64-curl mingw-w64-x86_64-cyrus-sasl mingw-w64-x86_64-glib2 mingw-w64-x86_64-gnutls mingw-w64-x86_64-gtk3 mingw-w64-x86_64-libjpeg mingw-w64-x86_64-libnfs mingw-w64-x86_64-libpng mingw-w64-x86_64-libslirp mingw-w64-x86_64-libssh mingw-w64-x86_64-libssp mingw-w64-x86_64-libtasn1 mingw-w64-x86_64-libusb mingw-w64-x86_64-libxml2 mingw-w64-x86_64-lzo2 mingw-w64-x86_64-nettle mingw-w64-x86_64-pixman mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-spice mingw-w64-x86_64-snappy mingw-w64-x86_64-usbredir mingw-w64-x86_64-zstd
要获得所有软件包,现在您可以按照其 wiki 页面上的说明进行编译,无需运行 mingw,继续使用 msys2 mingw x64
完成后,对于不熟悉 MSYS2 的人,你可以使用 ./ 运行你的 exe
您想从资源管理器启动它们。
- 建立特殊文件夹
- 复制 exe 到此文件夹
- 搜索 /MSYS2/mingw64/bin (根据您的安装文件夹)
- 将所有 dll 复制到您的特殊文件夹(步骤 1)
- 将 pc-bios 文件夹从 MSYS2/home//<QEMU/build 的克隆路径> 复制到您的特殊文件夹。
就这样。
也许还有更多的事情可以做来改善,但目前我还不知道更多。