这是在我的Makefile.core.def中: ... ... module = { name = mymod; common = net / mymod.c; }; ... ...
当我尝试构建时,我得到: mv syminfo.lst.new syminfo.lst cat syminfo.lst |排序| gawk -f /build/boot_project/src/grub/grub2/grub-core/genmoddep.awk> moddep.lst || (rm -f moddep.lst;退出1) mymod中的grub_efi_get_variable未定义 make [5]:*** [moddep.lst]错误1
mymod.c has "#include <grub/efi/efi.h>" and tries to use "grub_efi_get_variable" function. I see that in syminfo.lst
> more syminfo.lst
...
undefined mymod grub_efi_get_variable
...
有人可以了解错误以及如何修复?
谢谢,
PS我在/ build / boot_project / src / grub / grub2 / grub-core /中编辑了Makefile.core.def和Makefile.core.am以包含我的模块并在/ build / boot_project / src /中运行autogen.sh grub /重新生成Makefile.in,然后我在/ build / boot_project / src / grub /
中运行dmake答案 0 :(得分:1)
使用--with-platform = efi运行配置。无论如何,我注意到Makefile.core.am已为模块mymod启用了所有平台。所以我编辑了Makefile.core.def:module = {name = mymod; common = net / mymod.c; enable = efi};重新运行autogen.sh后,只有带有efi的平台被添加到Makefile.core.am并且构建工作正常。