尽管包含头文件,但隐含的函数声明

时间:2013-11-12 19:52:33

标签: c gcc header compiler-errors compiler-warnings

我在源文件myfunc中定义了一个函数myfunc.c,并在头文件myfunc.h中声明。这两个文件都是库的一部分。

在另一个项目的(projA)源文件中,我将头文件包括为:

#include "myfunc.h"

并正确使用该功能(参数数量,顺序等)。

我已经编辑了Makefile,因此在它的包含列表(-I)中有myfunc.h的路径。

但是,我仍然收到关于隐式声明的警告。由于projA具有warning = error set,因此编译失败。

注意:这不是here的日食问题,也不是here缺少的标题,也不是未声明的函数。

附录

int myfunc(char * source, size_t source_len, char * dest, size_t dest_len)
{
    // manipulation
    strncpy(dest, source, dest_len);
    // other stuff
}

1 个答案:

答案 0 :(得分:1)

看看这个https://gcc.gnu.org/onlinedocs/cpp/Ifdef.html
您可能需要将此添加到Header文件中以避免重复包含