Librairie dans des fichiers suplementaires

Salut tout le monde.

Bon je pense pas que je sois le seul a avoir eu le probleme, qui doit avoir une realisation facile, mais j’ai pas d’idée de nom qui pourrait correspondre.

Donc voila mon probleme. J’ai fractionné comme a mon habitude mon programme en plusierus fichiers .cpp et .h. La ou ca coince, c’est dans mon fichier “file”, et plus particulierement dans file.h:

file.h

#ifndef _FILE_H_
#define _FILE_H_

	#include <Arduino.h>
	#include <SPI.h>
	#include <SD.h>
	#include <Wire.h>

	int File_init();
	int File_write(char* name, char* data);
	char* File_read(char* name);
	int File_exist(char* name);

#endif

Le retour du compilo:

In file included from file.cpp:1:0:
file.h:5:18: fatal error: SPI.h: No such file or directory
  #include <SPI.h>
                  ^
compilation terminated.
Erreur lors de la compilation.

Pourquoi est-ce qu’il ne me trouve pas le fichier alors que si je le met dans le fichier de base il me le trouve ?

Merci d’avance

Salut,

Utilise des guillemets au lieu des <> :wink:

Ben non, techniquement, la lib est dans les fichiers du compilo

In file included from file.cpp:1:0:
file.h:5:18: fatal error: SPI.h: No such file or directory
  #include "SPI.h"
                  ^
compilation terminated.
Erreur lors de la compilation.

Bonjour
Essai en le déclarant aussi dans ton .INO
Faut bien le faire pour l'ethernet

a+

+1

RE +1
Fonctionnement de l'IDE Arduino en cas de fichiers multiples :

Cas ou il n'y a que des fichiers *.ino
Les différents fichiers *.ino sont concaténés en un seul fichier que l'IDE transforme en un fichier main.cpp.
Donc le compilateur a toutes les informations nécessaires pour créer l'unique fichier objet.

Cas mixte : mélange de fichiers *.ino et *.cpp
Les fichiers *.ino sont traités comme précédement.
Les fichiers *.c ou *.cpp sont compilés individuellement pour obtenir autant de fichiers objets qu'il y a de fichiers *.cpp.
Le compilateur doit donc disposer de toutes les informations.