這篇文章有講解,但是我不太懂什麼意思,第一次uboot編譯。。。
https://github.com/Dragon0Spark/MonBuildroot/commit/1cbfc94c5a0ac4120925aa8c7337eb7957dc4678
我查了查,好象是include/libfdt和uboot有衝突
這篇文章有講解,但是我不太懂什麼意思,第一次uboot編譯。。。
https://github.com/Dragon0Spark/MonBuildroot/commit/1cbfc94c5a0ac4120925aa8c7337eb7957dc4678
我查了查,好象是include/libfdt和uboot有衝突
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
这个问题是由编译器在编译过程中遇到的类型冲突引起的。解决方法可以分为两步:
检查并修复冲突:
libfdt目录中找到包含FDT_BITWISE类型的文件(例如tools/aisimage.c)。uint64_t类型的FDT_BITWISE变量,并且没有重复定义。使用符号重定位或宏替换:
-fno-omit-frame-pointer 或 --sysv-new-functions 参数,这将帮助编译器自动选择正确的重定位函数。-D_FORTIFY_SOURCE=2 或 -g参数,这会增加程序的安全性,但可能会导致性能下降。验证解决方案:
请注意,这些步骤仅适用于现代C++编译器,对于早期版本的编译器,可能需要采用不同的策略。此外,如果这是首次编译,请务必仔细阅读编译器的帮助文档,以了解如何配置编译环境以及如何处理类型冲突。