Pourquoi "undefined reference to" ?

Bonjour à tous,

j’ai un problème à la compilation, le compilateur ne voit pas une fonction mais pourquoi ???

Voici mon code:

Dans le fichier *.ino
#include “fonction.h”

dans la fonction loop
void loop()
{
Fonction();
delay(3000);

dans le fichier "fonction.h"
extern void fonction(void);

dans le fichier "fonction.c"
#include “fonction.h”

void fonction(void)
{

}

J’ai le retour suivant:
C:\Users…\ccLuNBmL.ltrans0.ltrans.o: In function loop':* *C:\.../xxx.ino:78: undefined reference to fonction()’

je ne vois pas du tout le problème, si quelqu’un avait une petite idée, ce serait avec joie

Merci

Bonjour,

Le fichier ino est un fichier .cpp. L'appel des fonctions correspond au standard C++
Si tu veux appeler une fonction C, il faut la déclarer comme une fonction C (extern "C")

Mais le plus simple est de faire des fichiers .cpp

merci pour ton aide, j'ai simplement changer l'extension .c par .cpp et ça a fonctionné.