这个问题出现的原因是找不到文件TargetRegistry.h,这个问题出现的原因是llvm-11的Support里有这个文件,而这个文件在llvm-14中不存在,当你选择了不合适的版本llvm-11编译时找不到它。
因此可以先安装一下llvm-11,“apt-get install llvm-11”
然后可以进入usr/lib/llvm-11/include/llvm/Support/中查看是否有这个文件,如果有这个文件的话将它移动到usr/lib/llvm-14/include/llvm/Support/里面,这个过程需要root权限。
成功移动后再次make可能直接成功,也可能出现报错“error: enumeration value ‘GOFF’ not handled in switch [-Werror=switch]”,这个是因为该头文件中有一个地方没有写default,根据terminal中显示的文件和错误行数找到该switch,然后再最后添加default:break;
再次make编译,顺利通过。