当我尝试使用静态库编译程序时,我遇到了问题。
我创建了我的.c文件的对象文件gcc -c ft_putstr.c
。然后我执行ar -rcs libft.a ft_putstr.o
,然后我制作gcc main.c -L. -lft
,然后我
警告:函数'ft_putstr'的隐式声明无效 C99。
创建二进制文件,但即使它是这样的,我也不想要这个警告。
如果我在GCC上有-std="c89"
标志,但我使用C99就可以了。
这是我的主要内容:
int main(void)
{
ft_putstr("Bonjour");
return (0);
}
这是我的ft_putstr.c:
#include <unistd.h>
void ft_putstr(char *str)
{
(*str) ? write(1, str, 1), ft_putstr(str + 1) : 0;
}
答案 0 :(得分:5)
您应该包含一个带有
声明的头文件void ft_putstr(char *str);
或者您可以在main.c
extern void ft_putstr(char *str);