C语言 在GCC中包含外部源文件的问题



我对C比较陌生,所以如果我的问题太微不足道,请原谅我,虽然我在Stackoverflow中找不到任何工作解决方案。

我正在尝试使用GCC编译源文件,同时提供另一个外部源文件(它具有我需要的实际方法)。

下面是我要做的一个简单的例子:

这是我的主源文件,hello.c

#include <stdio.h>
int main (void)
{
printTest();
return 0;
}

这是我的外部源文件methodc:

 void printTest(){
 printf ("Hello, world!n");
}

这是我想使用的命令行:

 gcc -include method.c  hello.c -o hello -I./

我得到以下错误:

In file included from <command-line>:1:0:
./method.c: In function ‘printTest’:
./method.c:2:2: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
  printf ("Hello, world!n");
  ^

更新:让我困惑的是,如果我在hello.c中使用"#include"method.c,而不是使用GCC -include,它工作得很好。我的琐碎思维方式让我假设包含只是在主文件中删除代码,同时享受主源文件已经处理的所有包含(例如stdio.h)。

谢谢你的帮助Uri

您必须在方法method.c中包含stdio.hstdio.h包含方法printf

您需要在文件method.c中包含头文件<stdio.h>

最新更新