You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从QEMU源码编译libqemu:求最新可行编译指南

从QEMU源码编译独立libqemu的可靠方案

问题背景

我在编译libqemu时遇到了不少麻烦:已经能正常编译完整QEMU,但对libqemu的链接环节摸不清头绪;找到的第三方编译项目都过时了,没法适配新版QEMU;官方文档也没给出详细的独立编译步骤。想找个长期兼容、不用花里胡哨技巧的方案,最好还能指定QEMU版本来缩短编译时间。

解决方案

其实QEMU原生就支持编译成共享库,步骤和编译完整QEMU差别不大,核心是配置阶段加对参数就行。下面是通用的编译脚本,基于官方流程,兼容性拉满:

#!/bin/bash

# 可自定义参数
QEMU_VERSION="8.2.0"       # 替换成你需要的QEMU版本
INSTALL_DIR="/usr/local/libqemu"  # 库的安装路径
TARGET_ARCH="x86_64-softmmu"      # 指定要编译的架构,按需修改

# 下载源码(本地已有可跳过这几步)
wget https://download.qemu.org/qemu-${QEMU_VERSION}.tar.xz
tar xvf qemu-${QEMU_VERSION}.tar.xz
cd qemu-${QEMU_VERSION}

# 配置编译选项,重点是启用共享库
./configure \
  --prefix=${INSTALL_DIR} \
  --target-list=${TARGET_ARCH} \
  --enable-shared \
  --disable-user \    # 不需要用户态模拟就关闭,减少编译量
  --disable-system    # 只需要库不需要完整系统模拟就关闭,按需调整

# 并行编译+安装
make -j$(nproc)
make install

关键细节说明

  • --enable-shared:这是生成libqemu的核心开关,没它就只会编译完整QEMU二进制
  • 指定TARGET_ARCH:只编译你需要的架构,和你提到的指定版本缩短编译时间思路一致,能省不少时间
  • 安装完成后,库文件在${INSTALL_DIR}/lib,头文件在${INSTALL_DIR}/include
  • 自己的程序链接libqemu时,用类似这样的命令:gcc your_code.c -o your_app -L${INSTALL_DIR}/lib -lqemu

验证编译结果

编译完成后,用下面的命令确认库是否生成:

ls ${INSTALL_DIR}/lib/libqemu*.so

内容的提问来源于stack exchange,提问作者ThomazPom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 21:53:09