【发布时间】:2018-04-04 10:01:39
【问题描述】:
正在处理一个类项目,我收到一个未知类型名称“EXTERN”错误。我正在创建系统调用(稍后将通过库调用访问)。出于某种原因,当我尝试在 usr/src/releasetools 中运行“make services”时,我无法弄清楚为什么我的 mproc.h 文件不合作。这是我得到的错误:
In file included from do_getaccesslvl.c:2:
./mproc.h:16:1: error: unknown type name 'EXTERN'
EXTERN struct mproc {
^
./mproc.h:16:8: error: expected identifier or '('
EXTERN struct mproc {
^
do_getaccesslvl.c:12:16: error: incomplete definition of type 'struct mproc'
return process->level;
~~~~~~~^
./proto.h:3:8: 注意:'struct mproc' 结构的前向声明
mproc;
产生了 3 个错误。 *** 错误代码 1
为什么EXTERN 的类型名称未知?这个"struct" 是由 Minix 本地定义的。我想也许我损坏了一些东西,所以我返回并恢复到 Oracle Virtualbox 中的先前快照,但错误仍然存在。任何帮助将不胜感激。
【问题讨论】:
-
您能提供更多信息吗?
EXTERN是宏还是您的意思是extern?struct mproc是类型定义吗?如果是这样,请向我们展示完整的类型定义。您是否有要声明的特定struct mproc变量,并希望在外部引用,如果有,您在哪里声明它?