我有一个基于单个 C 文件的项目,我尝试重新安排多个 .c 和 .h 文件中的进一步开发。
我的主要组织如下:
// General includes
typedef struct
{
} MyStruct;
#include "MyInclude.h"
// Rest of the code
我的文件“MyInclude.c”组织如下:
#include "MyInclude.h"
// Defines
// Functions that need to know MyStruct
GCC 的编译过程有些地方我不太明白。事实上,我得到了错误“MyStruct undeclared (first use in this function)”,我不知道为什么,因为我把我的 include 放在了我的结构的 typedef 声明之后。
有人知道为什么会这样吗?
最佳答案
问题有点不清楚。
文件“MyInclude.c”只能访问你的H文件。 而您的结构是用另一个 C 文件编写的。
您可以通过以下方式解决:
- 在 H 文件“MyInclude.h”上定义结构。它会起作用,但在方法上是错误的。
- 定义 setter 和 getter 以访问您的结构
干杯
关于c - 为什么我的C工程编译找不到我的结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26100888/