C 文件看不到头文件中定义的变量 #include



a.h我有

#ifndef A_H
#define A_H 1
const int global_val = 10;
#endif

a.c我有

#include "a.h"
int someFunc() {
return global_val;
}

但是编译器 (gcc( 在编译a.c时抛出error: 'global_int' undeclared。当我包含头文件时,它怎么可能未声明?

你应该有两个文件。

#ifndef A_H
#define A_H 1
extern const int global_val;
#endif

交流电

#include "A.h"

const int global_val = 10;

我发现了问题。我删除了所有的.o.gch和可执行文件,代码又开始编译。我的猜测是预编译的标头(我什至不记得制作(欺骗了编译器。

我没有关闭问题,而是决定留下这个答案,以防它对某人有帮助。

相关内容

  • 没有找到相关文章

最新更新