我正在使用CCS(基于Eclipse)编程来学习使用微控制器。
我在使用include时遇到了一些问题。
我有4个文件:
GPIO.h - GPIO函数的宏和原型
GPIO.c - GPIO.h中声明的GPIO函数的实现
main.c - 主程序
util.h - 所有其他文件必不可少的宏和typedef
在每个程序中放入包含,我ctrl + c / ctrl + v我的代码: 我真的尝试用#34; ",我想让我的代码运行,这将是有益的。
GPIO.h - #include "util.h"
GPIO.c - #include "GPIO.h"
main.c - #include "GPIO.c"
util.h - (no includes)
在eclipse中,所有文件都放在项目文件夹中。已经通过访问该文件夹手动检查,它们就在那里。
当我编译并运行时,有2个错误引用包括:
"../GPIO.c", Line 9: fatal error # 1965: Can not open source file "GPIO.h"
"../main.c", Line 1: fatal error # 1965: Can not open source file "GPIO.c"
我不明白什么是错的!
我进行了编辑,以便人们了解即使使用""错误继续(@ mame98)。我明确表示我正在使用基于Eclipse的CCS IDE,现在我怀疑是操作系统。我现在有机会在Windows上进行测试。
答案 0 :(得分:1)
你应该只包含H文件作为Eugene Sh。指出...另外,使用#include "util.h"
和#include "gpio.h"
因为它们是本地文件,并且它们不在编译器的默认搜索路径中。如果您想要包含“全局”标头(位于搜索路径中),则必须使用#include <file.h>
。
也许还要注意,可以使用GCC的-I.
选项将本地文件夹添加到搜索路径中(也应该与其他编译器一起使用)。
有关搜索路径的更多信息,请参阅here。
答案 1 :(得分:0)
<>
适用于#include <stdio.h>
""
用于您自己的文件#include "GPIO.h"
小心包括.c!如果GPIO.h中也包含GPIO.h,则可能会出现错误..(多重包含保护在这里很有用!)