Error: linker command failed with exit code 1

Bonjour,

Pour m'entraîner au langage C, je voulais faire les exercices de l'école 42, mais je bloque déjà dès le première exercice.

J'ai écrit le code suivant :

#include <unistd.h>

void ft_putchar(char c) { 
  write(1, &c, 1);
}


J'ai vérifié dans le corrigé, j'ai bien le bon code mais pourtant j'ai le message suivant qui apparaît :
Undefined symbols for architecture x86_64:
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)


Pouvez-vous m'aidez s'il vous plaît ?

Je suis sur Visual studio Code.

1 réponse

  1. Modérateur
    Où se trouve ta fonction "main" ?
    0
    1. Bonjour même avec la fonction main ça affiche la même erreur.
      Auriez vous une idée du problème ?
      0
    2. Modérateur
      @BrcPeux-tu reporter le code que tu as écrit (avec la fonction
      main
      ) et ce que retourne le compilateur ? Comme NHenry le signale fort justement, ton erreur initiale est d'avoir voulu compiler un exécutable sans que ton code ne comporte de fonction
      main
      . Du coup, le compilateur ne sait pas où est le point d'entrée, i.e. il ne sait pas commence le programme.

      Bonne chance
      0