Problème de compilation

Bonjour,

Je débute en programmation sur arduino et je rencontre quelques problèmes de compilation.

Je ne comprends pas pourquoi j’ai se problème qui revient occasionnellement, j’ai pourtant il me semble mis les bonnes librairie la ou il faut …

In file included from RFID_CODE_ACCES.ino:2:0:
/home/bertrand/sketchbook/libraries/SPI/SPI.h:16:21: fatal error: arduino.h: No such file or directory
#include <arduino.h>
^
compilation terminated.

J’ai beau chercher sur le net, j’ai encore un peu de mal avec l’anglais alors je comprend pas tout…

J’ai bien dans mon répertoire arduino le répertoire sketchbook qui contient le répertoire de mon programme, ainsi qu’un répertoire “librairies” qui contient bien un répertoire “RFID” et “SPI” librairies qui ont bien été importées dans mon logiciel arduino.

Note : je suis en version arduino 1.0.5

merci pour votre aide

tu compiles un prg recent avec une ancienne version de l'ide 1.05 à l'époque de l'ide, ce n'était pas arduino.h mais une autre librairie "WProgram.h

c'est pourquoi tu verras en tête de certaines librairies

// Arduino versioning.

if defined(ARDUINO) && ARDUINO >= 100

include "Arduino.h"

else

include "WProgram.h"

endif

D'après le tuto le programmeur me conseil d'utiliser arduino 1.0.5, donc précisément celui que j'ai. De plus j'utilise les librairies fournies avec le prog.... merci

en v1.0.6 sous Windows, Arduino.h se trouve sous \Program Files (x86)\Arduino\hardware\arduino\cores\arduino

Merci, j'ai déinstallé la version 1.0.5, mais il refuse de m'installer la 1.0.6 problème de dépendances....argh suis pourtant sous fedora20 je continue

Bonjour,

rapy73: Merci, j'ai déinstallé la version 1.0.5, mais il refuse de m'installer la 1.0.6 problème de dépendances....argh suis pourtant sous fedora20 je continue

Sous fc22 la version du dépôt est la 1.0.6 Que te donne

dnf search arduino

dnf search arduino

il me retourne : commande inconnue

@dfgh

dfgh:
tu compiles un prg recent avec une ancienne version de l’ide 1.05
à l’époque de l’ide, ce n’était pas arduino.h mais une autre librairie "WProgram.h

c’est pourquoi tu verras en tête de certaines librairies

// Arduino versioning.
#if defined(ARDUINO) && ARDUINO >= 100
#include “Arduino.h”
#else
#include “WProgram.h”
#endif

Comme le montre le morceau de code que tu as copié, la rupture a eu lieu au passage à la 1.0 depuis ce temps c’est Arduino.h qui est utilisé.

De mémoire entre la 1.0.5 et la 1.0.6 il n’y a pas de différence majeure.
@rapy73
Juste pour info, tu arrives à compiler les programmes d’exemple comme blink?

Edit:

Je crois que le problème vient de là:

#include <arduino.h>

dans la librairie, la ligne devrait être:

#include <Arduino.h>

Sous windows la casse est indifférente sous Linux ce n’est pas le cas.

Oui Blink se compile sans souci et bien d’autres

tu écris

dans la librairie, la ligne devrait être:
Code: [Select]

#include <Arduino.h>

Dans quelle librairie ? pour vérifier ou elle se trouve

si je rajoute dans mon prog #include <Arduino.h> ça ne fait rien

voici le prog à compiler

#include <SPI.h>
#include <RFID.h>

const char DOUT_LED_ROUGE = 2;
const char DOUT_LED_VERTE = 3;

RFID monModuleRFID(10,9);

int UID[5]={};
int MASTERKEY[5]={67,139,127,198,113};

void setup()
{
Serial.begin(9600);
SPI.begin();
monModuleRFID.init();
pinMode(DOUT_LED_ROUGE, OUTPUT);
pinMode(DOUT_LED_VERTE, OUTPUT);
digitalWrite(DOUT_LED_ROUGE, LOW);
digitalWrite(DOUT_LED_VERTE, LOW);

}

void loop()
{
if (monModuleRFID.isCard()) {
if (monModuleRFID.readCardSerial()) {
Serial.print(“L’UID est: “);
for(int i=0;i<=4;i++)
{
UID_=monModuleRFID.serNum*;_
_ Serial.print(UID,DEC);
Serial.print(”.”);
}
Serial.println("");
}*_

* if (UID[0] == MASTERKEY[0]*
* && UID[1] == MASTERKEY[1]*
* && UID[2] == MASTERKEY[2]*
* && UID[3] == MASTERKEY[3]*
* && UID[4] == MASTERKEY[4])*
* {*
* digitalWrite(DOUT_LED_VERTE, HIGH);
_ delay(500);_
digitalWrite(DOUT_LED_VERTE, LOW);
_ }
else*
* {_
digitalWrite(DOUT_LED_ROUGE, HIGH);
_ delay(500);_
digitalWrite(DOUT_LED_ROUGE, LOW);
_ }
monModuleRFID.halt();
}
delay(1);
}*_

argh suis pourtant sous fedora20

Tu installes l'IDE à partir d'où ? - les dépots fedora ? - le site arduino ?

Je n'ai plus que de vagues souvenirs des paquets rpm (sur Debian depuis 2007 après avoir abandonné Mandriva) mais si une version de l'IDE est disponible pour ta version de fedora il faut l'utiliser en priorité.

Il existe aussi la "moulinette" "alien" qui permet de transformer un paquet deb en rpm et vice versa : peut être une solution ? En deb la version dispo est la 1.05, concernant les autres versions le mainteneur de paquet attend qu'Arduino(s) arrête(nt) les conner*es

De toute façon les versions 1.5.x, 1.6.x et 1.7.x sont inutiles avec un avr 8 bits.

ok je laisse tomber pour l’instant, j’avais déjà eu le même problème il y a quelque temps mais je ne sais plus comment je l’avais résolu…
Fedora20 n’est plus supportée et la 23 et sortie alors je vais en profiter pour tout mettre à jour.

à bientôt
et merci

rapy73:
Oui Blink se compile sans souci et bien d’autres

tu écris

dans la librairie, la ligne devrait être:
Code: [Select]

#include <Arduino.h>

Dans quelle librairie ? pour vérifier ou elle se trouve

Dans le fichier de la librairie qui remonte l’erreur

/home/bertrand/sketchbook/libraries/SPI/SPI.h:16:21: fatal error: arduino.h: No such file or directory
#include <arduino.h>

Bonsoir,

Je viens de finir de rénover ma fedora, par une install en fedora23 avec arduino 1.0.6 Ben ça ne change rien, je m'en doutais, c'estr bien un problème de librairie, j'ai pourtant essayé une autre librairie MFRC522 mais pas de résultat. Il faut donc que je trouve la bonne....

Le message d'erreur remonté indique une erreur dans la librairie SPI donc le problème sera toujours là si les différentes librairies que tu testes font toutes appel à la lib SPI.

ok , j'ai beau prendre ld'autres librairies SPI.h ça ne fonctionne pas, me lancer dans la récriture du programme me tente bien mais vu que je ne suis pas sur que c'est la bonne solution, je vais essayer de trouver un prog pour test à base de RFID-RC522 sans cette librairie merci pour vos conseils

Pour test j’ai pris sur le site arduino un prog qui est fourni pour example dans la librairie SPI donc livré avec la bonne librairie, et bien j’ai toujours la même erreur :

In file included from BarometricPressureSensor.pde:26:0:
/home/bertrand/sketchbook/libraries/SPI/SPI.h:16:21: fatal error: arduino.h: No such file or directory
compilation terminated.

j’en conclu que ce n’est pas un pb de librairie puisque le prog est fournie avec les librairies.

comme il y un pb de arduino.h, je pense qu’il y a un autre pb, peut-être le compilateur, il lui manque quelque chose…?

j’ai le même pb quelque soit la version d’arduino 1.0.5 ou 1.0.6 installée maintenant.

pouvez-vous me dire d'où vient le pb ?

/usr/lib/gcc/avr/5.1.0/../../../../avr/bin/ld: cannot find dev/atmega328p/crt1.o: Aucun fichier ou dossier de ce type /usr/lib/gcc/avr/5.1.0/../../../../avr/bin/ld: cannot find dev/atmega328p/libdev.a: Aucun fichier ou dossier de ce type collect2: error: ld returned 1 exit status

j'ai d'installé : avr-gcc 5.1.0 avr-libc 1.8.0

pour info rien se compil, même pas blink, exemple donné dans arduino bon j'ai avancé sur mon problème de librairie, mais j'ai pb de compilation....plus dur pour moi

apparement je ne suis pas le seul.... https://bugzilla.redhat.com/show_bug.cgi?id=1245253 http://lists.gnu.org/archive/html/avr-gcc-list/2015-02/msg00006.html

Bon ben une solution si on peut dire :

J'ai téléchargé arduino 1.6.6 tar.gz Simplement en le decompressant et en lancant arduino ./arduino dans un terminal ça se lance et je peux compiler mon programme, plus d'erreur.

par contre j'aurais aimé l'installer en dur, mais le ./install.sh me retourne une erreur

Je suis sous fedora23

[root@localhost arduino-1.6.6]# ./install.sh cp: impossible de créer le fichier standard « /root/Desktop/arduino.desktop »: Aucun fichier ou dossier de ce type Installed Arduino IDE icons on menu and desktop !

je souhaiterai une icone sur le bureau pour le lancer....

merci

même problème sous ubuntu.
Le script pointe vers un répertoire qui n’existe pas (Desktop/) pour copier le .desktop.
J’ai modifié le chemin dans le script pour qu’il pointe vers le bon répertoire dans mon home (.gnome/apps dans mon cas).
En plus tu l’installes dans root ce qui va te poser des problèmes d’exécution plus tard.

Tout va bien il s'est installé correctement, je faisais l'erreur de l'installer sous root merci