目前最新的 EDK2 是 edk2-stable202205,可以在下面的链接下载到:
https://github.com/tianocore/edk2/releases/tag/edk2-stable202205
这次更新了如下内容:
- Support PEI 64bit in IntelFsp2Pkg and IntelFsp2WrapperPkg
- IntelFsp2Pkg: BaseFspCommonLib Support for X64 Build
- Add PrmPkg
- BaseTools Enhance GenFw to support PRM GCC build
- Enable Intel TDX in OvmfPkg
- Generate CloudHv target as PVH ELF binary
- Add parallel hash feature into BaseCryptLib
- Configure/Enable elliptic curve ciphers in OpenSSL
- Add FMMT tool into edk2 BaseTools
- Dynamic variable flash information cannot be passed in Standalone MM
和之前一样,补完下面三个模块的代码(下面的两个brotli是同一套):
- CryptoPkg/Library/OpensslLib/openssl
- MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
- MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
- BaseTools/Source/C/BrotliCompress/brotli
之后,可以正常编译 EmuPkg和OVMF代码。
下面是补完的代码,146MB:
链接: https://pan.baidu.com/s/1jSCa-3S9hWpVUQadDtgfRA?pwd=labz 提取码: labz
接下来是一个VirtualBox的镜像,其中是 Win10 + VS2019 + 上述的 EDK2 代码,如果你是初学者或者在配置 EDK2 过程中碰到奇怪的问题,不妨先使用这个版本:
链接: https://pan.baidu.com/s/1CK1F06xhE11VW8P7XNosSg?pwd=labz 提取码: labz
您好,使用您的EDK202205版本,VS2019+WIN10,仍然编译不通过。尝试多次仍报错,错误如下:
D:\Soft\NASM\nasm" -Id:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Library\BaseLib\X64\ -Id:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Library\BaseLib\X64\ -Id:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Library\BaseLib\ -Id:\baidunetdiskdownload\edk2202205full\edk2202205full\Build\EmulatorX64\DEBUG_VS2019\X64\MdePkg\Library\BaseLib\BaseLib\DEBUG\ -Id:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\ -Id:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Include\ -Id:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Test\UnitTest\Include\ -Id:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Include\X64\ -Ox -f win64 -g -o d:\baidunetdiskdownload\edk2202205full\edk2202205full\Build\EmulatorX64\DEBUG_VS2019\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\DisablePaging64.obj d:\baidunetdiskdownload\edk2202205full\edk2202205full\Build\EmulatorX64\DEBUG_VS2019\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\DisablePaging64.iii
ע: ļ: d:\baidunetdiskdownload\edk2202205full\edk2202205full\MdeModulePkg\Include\Guid/ConsoleInDevice.h
ע: ļ: d:\baidunetdiskdownload\edk2202205full\edk2202205full\MdeModulePkg\Include\Guid/ConsoleOutDevice.h
AutoGen.c
ע: ļ: d:\baidunetdiskdownload\edk2202205full\edk2202205full\ShellPkg\Include\Guid/ShellLibHiiGuid.h
ע: ļ: d:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Include\Protocol/SimpleTextIn.h
ע: ļ: d:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Include\IndustryStandard/Pci.h
ע: ļ: d:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Include\Protocol/SimpleTextInEx.h
ע: ļ: d:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Include\IndustryStandard/PciExpress50.h
ע: ļ: d:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Include\Protocol/SimpleTextOut.h
ע: ļ: d:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Include\IndustryStandard/PciExpress40.h
ע: ļ: d:\baidunetdiskdownload\edk2202205full\edk2202205full\MdePkg\Include\IndustryStandard/PciExpress31.h
d:\baidunetdiskdownload\edk2202205full\edk2202205full\Build\EmulatorX64\DEBUG_VS2019\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\DisablePaging64.iii:54: warning: label alone on a line without a colon might be in error
d:\baidunetdiskdownload\edk2202205full\edk2202205full\Build\EmulatorX64\DEBUG_VS2019\X64\MdePkg\Library\BaseLib\BaseLib\OUTPUT\X64\DisablePaging64.iii:35: error: symbol `InternalX86DisablePaging64.0' undefined
......
error 7000: Failed to execute command
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x86\nmake.exe /nologo tbuild [d:\baidunetdiskdownload\edk2202205full\edk2202205full\Build\EmulatorX64\DEBUG_VS2019\X64\MdePkg\Library\BaseLib\BaseLib]
VC中NMAKE的路径是没有问题的。从问题描述来看,提示在DisablePaging64.iii缺少`InternalX86DisablePaging64.0' 。
如何解决,请指教。
你先把路径改短一点试试?