0

当我尝试使用静态库编译程序时遇到问题。我创建了我的 .c 文件的目标文件gcc -c ft_putstr.c。然后我执行ar -rcs libft.a ft_putstr.o,然后我做gcc main.c -L. -lft,我已经

警告:函数 'ft_putstr' 的隐式声明在 C99 中无效。

二进制文件已创建,但即使它是这样工作的,我也不想要这个警告。如果我-std="c89"在 GCC 上有标志,但我有你使用 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; 
    }
4

1 回答 1

5

您应该包含一个头文件,该文件具有如下声明

void    ft_putstr(char *str);

或者你可以在你的main.c

extern void    ft_putstr(char *str);
于 2014-08-11T09:57:11.687 回答