Go Down

Topic: Utiliser une librairie dans une librairie (Read 479 times) previous topic - next topic

roipoussiere

Jun 25, 2013, 07:57 pm Last Edit: Jun 25, 2013, 10:17 pm by roipoussiere Reason: 1
Bonsoir.

Je voudrais développer une librairie qui requiert une librairie Arduino existante (SD).
J'aimerais inclure SD.h dans ma librairie, afin que l'utilisateur n'ait pas à taper le #include <SD.h>, en début de son sketch.

Avec un #include <SD.h> au début de ma librairie ça ne compile pas, même en copiant le dossier de la lib SD dans le dossier de ma lib.

Je pense que c'est parce que le compilateur Arduino se base sur les #include du scketch pour inclure les librairies, du coup vu que là je suis pas dans le sketch ça ne fonctionne pas.

Edit : J'imagine que ça doit être lié, je n'arrive pas non plus à décomposer une librairie en plusieurs classes (et plusieurs fichiers).

Merci pour votre aide.
N'attendez pas de savoir pour entreprendre.
Drawall, le robot qui dessine : http://drawall.cc/

Viproz

Bonsoir,

J'imagine que ce que tu veux faire c'est plutot :
Code: [Select]
#include <SD.h>

Le définir ne sert pas à grand chose
http://stilldrinking.org/programming-sucks

roipoussiere

N'attendez pas de savoir pour entreprendre.
Drawall, le robot qui dessine : http://drawall.cc/

Viproz

L'erreur n'était que dans le post ?

Dans le premier post, tu dis que ça ne compile même pas, donc quelle erreur ?

D'après ce que j'ai compris, quand tu utilise des <> pour inclure un fichier, il va chercher celle installé avec l'ide, si tu utilises des "", il va chercher en premier dans ton dossier lib
http://stilldrinking.org/programming-sucks

SesechXP

salut,


Je pense que c'est parce que le compilateur Arduino se base sur les #include du scketch pour inclure les librairies, du coup vu que là je suis pas dans le sketch ça ne fonctionne pas.


Effectivement, il faut aussi inclure la bibliothèque dans le sketch. Spécificité d'Arduino :smiley-roll-sweat:
Julien - www.idreammicro.com

roipoussiere

Oui l'erreur était dans le post.



Je pense que c'est parce que le compilateur Arduino se base sur les #include du scketch pour inclure les librairies, du coup vu que là je suis pas dans le sketch ça ne fonctionne pas.

Effectivement, il faut aussi inclure la bibliothèque dans le sketch. Spécificité d'Arduino :smiley-roll-sweat:


Arrr!

Du coup, pas moyen de créer des librairies de plusieurs classes, de manière à structurer un peu le code ?
Ex : malib.h requiert maclasse1.h : en en-tête de malib.h je devrais normalement avoir #include "maclasse1.h", mais impossible :/

Coment faire ?
Laisser tomber Arduino et compiler direct avec avr-gcc? :D
N'attendez pas de savoir pour entreprendre.
Drawall, le robot qui dessine : http://drawall.cc/

Go Up