XV6操作系统make报错file.h:17:20: error: field lock has incomplete type解决方法

XV6操作系统make报错file.h:17:20: error: field ‘lock’ has incomplete type解决方法

  大家好,我叫亓官劼(qí guān jié ),在****中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为:亓官劼,地址为亓官劼的B站

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!


完整报错截图为:

XV6操作系统make报错file.h:17:20: error: field lock has incomplete type解决方法

解决方法:我们看到这里的问题出现在sysproc.c这个文件中,由于各个自定义的函数文件不同,查看自己函数错误所在文件的方法为:
XV6操作系统make报错file.h:17:20: error: field lock has incomplete type解决方法
如图中红线所示,这里就是报错所在的文件,这里报错的原因是引入了file.h文件导致了 lock的多次定义,这里需要进行删除#include "file.h"删除即可解决此报错。

这里的struct sleeplock lock;已经在头文件defs.h中定义了,不需要重复引入。


  大家好,我叫亓官劼(qí guān jié ),在****中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为:亓官劼,地址为亓官劼的B站

本文原创为亓官劼,请大家支持原创,部分平台一直在盗取博主的文章!!!