为什么我的C项目编译无法找到我的结构?

bap*_*ste 0 c struct compilation

我有一个基于单个C文件的项目,我尝试重新排列以便在几个.c和.h文件中进一步开发.

我的主要内容如下:

// General includes

typedef struct 
{
} MyStruct;

#include "MyInclude.h"

// Rest of the code
Run Code Online (Sandbox Code Playgroud)

我的文件"MyInclude.c"的结构如下:

#include "MyInclude.h"

// Defines

// Functions that need to know MyStruct
Run Code Online (Sandbox Code Playgroud)

关于海湾合作委员会的编制过程,我有些不明白.事实上,我得到错误"MyStruct未声明(在此函数中首次使用)"并且我不知道为什么我在我的结构的typedef声明之后放入了我的include.

有人知道它为什么会发生吗?

Moy*_*mir 6

问题有点不清楚.

文件"MyInclude.c"只能访问您的H文件.而您的结构是用另一个C文件编写的.

您可以通过以下方式解决:

  1. 在H文件"MyInclude.h"上定义结构.它会起作用,但在方法论上它是错误的.
  2. 定义setter和getter以访问您的struct

干杯