【发布时间】:2019-09-26 08:10:05
【问题描述】:
我正在尝试使用标头为预处理器声明一些宏并在代码文件中使用它们。
这是我的标题:error.h
#ifndef PROJET_MODULE_H
#define PROJET_MODULE_H
#define TESTMACRO 5
#endif
和代码文件:error.c
#include <error.h>
#include <stdio.h>
int main(){
printf("%d\n", TESTMACRO);
return 0;
}
我得到这个错误:
‘TESTMACRO’未声明(在此函数中首次使用)
我已经尝试编译了:
gcc 错误.c -o 错误
和
gcc error.h error.c -o 错误
两者都给了我错误。感谢任何帮助,谢谢
【问题讨论】:
-
试试
#include "error.h" -
解决了,谢谢
-
很可能
error.h是在其他地方找到的系统标头的名称。不是你的标题 -
补充说明:你的命令
gcc error.h error.c -o error是错误的。您不必在命令行上指定头文件。 (除非您想做一些不符合约定的非常不寻常的事情。)如果您想查看包含的内容,您可以运行gcc -E -C error.c -o error.i并检查生成的文件error.i。#include "file.h"用于项目的包含文件,#include <file.h>用于系统包含,通常来自/usr/include或某个编译器特定位置。
标签: c compilation header