UDK2018 x86-64 UEFI应用构建:TargetTool配置异常求助
解决UDK2018在Ubuntu17上用TargetTool配置模拟器构建的问题
我来帮你梳理下用TargetTool配置UDK2018模拟器构建环境的常见问题和正确姿势——毕竟我之前在Ubuntu环境下折腾UDK2018的模拟器构建,踩过不少类似的坑。
首先,先给你一个完整的、能跑通的TargetTool命令示例,你的命令里--target参数没写完,这大概率是问题之一:
TargetTool --arch=X64 --platform=EmulatorPkg/EmulatorPkg.dsc --target=DEBUG --toolchain=GCC5
关键参数说明
--target=DEBUG:选DEBUG模式适合后续调试,要是做发布版可以换成RELEASE--toolchain=GCC5:Ubuntu17默认的GCC版本(一般是7.x,但UDK2018的GCC5 toolchain兼容较新的GCC版本),如果你的系统装的是GCC7,也可以尝试GCC7,但GCC5在UDK2018里兼容性更稳
常见配置问题排查
- 未提前初始化UDK环境:在运行TargetTool之前,必须先在UDK2018根目录执行
. edksetup.sh(注意前面的点和空格),不然TargetTool找不到平台包的路径和基础工具,直接会报错 - 相对路径错误:确保你是在UDK2018的根目录下执行TargetTool,不然
EmulatorPkg/EmulatorPkg.dsc这个相对路径会找不到 - 未指定Toolchain:如果省略
--toolchain参数,UDK的构建系统不知道用哪个编译链,会直接抛出配置错误 - 系统依赖缺失:Ubuntu17需要先安装构建依赖包,比如
build-essential、uuid-dev、iasl、libncurses5-dev,这些没装的话,即使TargetTool配置成功,后续build命令也会失败 - 权限问题:如果你的UDK目录是用root用户创建的,普通用户运行TargetTool可能会没有读写Conf目录的权限,导致无法生成
target.txt配置文件,建议用普通用户重新解压UDK2018或者调整目录权限
验证配置是否成功
运行完TargetTool后,去UDK根目录的Conf文件夹下查看target.txt文件,里面应该有类似这样的内容:
ACTIVE_PLATFORM = EmulatorPkg/EmulatorPkg.dsc TARGET = DEBUG TARGET_ARCH = X64 TOOL_CHAIN_TAG = GCC5
如果内容和你指定的参数一致,就说明配置没问题了,接下来直接执行build命令就能编译模拟器和你的UEFI应用,编译完成后用./Build/EmulatorX64/DEBUG_GCC5/QemuLaunch.sh就能启动模拟器运行应用了。
内容的提问来源于stack exchange,提问作者Lesh
相关产品推荐
相关产品推荐

