gcc -o hellomake hellomake.c hellofunc.c -I。
如何在不将所有代码放在一个文件中的情况下删除以下警告(在ubuntu 12.04上)?
hellofunc.c:在函数'myPrintHelloMake'中:hellofunc.c:6:3:警告: 内置函数'printf'的不兼容隐式声明 [默认启用]
这三个文件如下:
hellomake.c
#include<stdio.h>
int main()
{ // call a function in another file myPrintHelloMake();
return(0);
}
hellofunc.c
#include<hellomake.h>
void myPrintHelloMake(void) {
printf("Hello makefiles!\n");
return;
}
hellomake.h / * 示例包括文件 * /
void myPrintHelloMake(void);
答案 0 :(得分:3)
由于hellofunc.c
拨打printf
,您需要#include <stdio.h>
。
如果hellomake.c
调用了您的myPrintHelloMake
函数,则应该#include "hellomake.h"
hellomake.h
也应该有include guards,例如
#ifndef HELLOMAKE_H_
#define HELLOMAKE_H_
void myPrintHelloMake(void);
#endif
答案 1 :(得分:2)
#inclde<stdio.h>
应该是共同的头文件,或者在hellofunc.c
中单独包含它。