完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
问题描述:编译器告诉我lcd_init没有定义,这个函数我在ILI9341里面定义了并且也在源文件声明了,这个文件在Hardware目录下,我包含这个.h文件没有报错,但是在使用其中的lcd_init.h包括其他函数都会出现没有被定义的情况,请问我是哪里出现了问题。
希望有大佬能帮我解答一下,俺是初学的萌新!!!附件里面有三张图片,好像不能上传更多了。这个函数的定义和声明被覆盖了,但我确实是在ILI_9341.h和源文件里面声明和定义了,但是就是会报错了 main目录下的CMake 报错 83cfc4caf536f8375aebbe555e7dafa.png (46.33 KiB) Viewed 147 times |
|
相关推荐
1个回答
|
|
根据你的描述,这个问题可能是由于以下几个原因导致的:
1. **头文件包含路径问题**:确保你的编译器能够找到`ILI_9341.h`文件。检查你的项目设置,确保包含路径设置正确。 2. **头文件重复定义**:如果你在多个地方包含了`ILI_9341.h`,可能会导致重复定义的问题。确保只在一个文件中包含这个头文件。 3. **头文件保护**:确保你的头文件使用了头文件保护(也称为头文件守卫)。这样可以防止头文件被重复包含。例如: ```c #ifndef ILI_9341_H #define ILI_9341_H // 你的函数声明和定义 #endif // ILI_9341_H ``` 4. **编译顺序问题**:确保在编译过程中,`ILI_9341.c`文件在`ILI_9341.h`之前被编译。这样,编译器在处理`.h`文件时,已经知道`.c`文件中定义的函数。 5. **函数声明和定义不匹配**:检查你的函数声明和定义是否完全匹配。例如,函数的返回类型、参数类型和数量等。 6. **编译器配置问题**:检查你的编译器配置,确保没有错误地设置编译选项,如优化级别、语言标准等。 为了解决这个问题,你可以尝试以下步骤: 1. 确保`ILI_9341.h`文件的路径正确,并且编译器能够找到它。 2. 在`ILI_9341.h`文件中添加头文件保护。 3. 检查你的项目设置,确保编译顺序正确。 4. 仔细检查函数的声明和定义是否完全匹配。 5. 检查编译器配置,确保没有错误地设置编译选项。 希望这些建议能帮助你解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助你。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 01:17 , Processed in 0.896428 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号