在complie time中添加头文件的gcc选项是什么?

时间:2016-04-06 13:50:41

标签: gcc

如何编译此代码?

  /* main.c file*/

   #include <stdio.h>

   int main(void)
   {
       int c;
       c = add(5,5);
       printf("sum is %d\n",c);

       return 0;
   }

Add.c(在同一目录中)

   /*add.c*/
    int add(int a, int b)
    {
        int c;
        c = a + b;

        return c;
    }

Add.h(在同一目录中)

  /* add.h file*/

   int add(int, int);

然后我为add.c创建一个目标文件

$ gcc -c -Wall add.c -I.

然后我尝试为main.c创建一个目标文件

$ gcc -c -Wall main.c -I.
main.c:6:2: warning: implicit declaration of function ‘add’ [-Wimplicit-function-declaration]
c = add(5, 5);
    ^

请任何人告诉,如何在编译时给出头文件名。

1 个答案:

答案 0 :(得分:1)

您可以使用#include "Add.h"顶部的main.c(这是首选路由),也可以使用-include命令行标记(不鼓励这样做,因为它确实如此)不规模且不便携):

gcc -c -Wall main.c -I. -include Add.h