在移植正点原子OV5640的驱动程序时,遇到了multiply defined错误。错误报表如下:

出现这么多错误,满脑子的问号❓首先检查了下这几个出现错误的命名,没有出现重定义,定义的位置仅在相应的.h文件中。
由于移植时把所有的头文件放在了一个自定义的头文件中,那就把这几个头文件都转移到了ov5640.h的头文件下,再次编译,错误依旧...
寻求度娘帮助,有网友说明了两个原因,一个是确实出现了重定义。另一个原因是因为keil不支持相应.h文件放在其他.h文件下,需要转移到使用的.c文件下。尝试了下转移到应用的.c文件下,问题解决!
由于长期使用VS软件做编程,习惯上将引用放置于相应头文件中,导致移植中这种莫名的错误。那问题就是,为何不能放置于.h文件夹下引用,仅仅是不支持吗...表示不理解。
本文记录了在移植OV5640摄像头模块驱动过程中遇到的multiply-defined错误,并分享了解决该问题的经验。错误源于头文件被重复包含,通过调整头文件的包含位置解决了问题。
1413

被折叠的 条评论
为什么被折叠?



