c - C文件看不到#include'd头文件中定义的变量
问题描述
在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)error: 'global_int' undeclared
在编译a.c
. 当我包含头文件时,它怎么可能未声明?
解决方案
你应该有两个文件。
啊
#ifndef A_H
#define A_H 1
extern const int global_val;
#endif
和
交流电
#include "A.h"
const int global_val = 10;
推荐阅读
- c++ - 始终为空元数据
- java - 如何让 maven 在存储库中获取我的本地 jar?
- db2 - 无论设备时间格式如何,as400 时间戳(yyyy-MM-dd-HH.mm.ssssss)都可以用于查询吗?
- springmockito - 如何在 mockito 中执行 catch 块以进行代码覆盖?
- oracle - liquibase 用户的 Oracle 角色
- matlab - 在 MATLAB 中一次分配多个变量
- javascript - 使用 Python 执行 JS 并将结果存储在数组中
- c# - 是否可以仅在应用 pdf 签名而不是在使用 iText 7 创建哈希时设置 CRL
- django - 如何在通用视图中传递 slug (Django)
- python - 检查函数是否在 Python 类中定义