0

静的ライブラリを使用してプログラムをコンパイルしようとすると問題が発生します。.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; 
    }
4

1 に答える 1

5

次のような宣言を持つヘッダー ファイルを含める必要があります。

void    ft_putstr(char *str);

または、この行をmain.c

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