Erreur de compil Arduino Due

Bonjour,
Je developpe un programme actuellement sur Mega2560 le programme tourne bien, mais je n'ai plus que 1,4ko de ram j'ai eu beau optimiser mon code, mais je suis à l'etroit et je n'ai pas terminé mon programme.
Je suis passé sur le Due (plus de ram) mais là alors que mon programme compile bien sur Mega2560 et tourne bien j'ai des erreurs surtout dans des librairies fournies avec le package, que je n'ai donc pas touché et qui sont bien présente (j'ai vérifié).

Voici les erreurs merci de m'aider.

In file included from c:\program files (x86)\arduino\hardware\tools\g++_arm_none_eabi\bin../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/include/sys/stat.h:9,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\cores\arduino/syscalls.h:32,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\variants\arduino_due_x/variant.h:50,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\SPI/SPI.h:14,
from Chauffage.ino:2:
C:\Program Files (x86)\Arduino\libraries\Time/time.h:15: error: conflicting declaration 'typedef long unsigned int time_t'
c:\program files (x86)\arduino\hardware\tools\g++_arm_none_eabi\bin../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/include/sys/types.h:109: error: 'time_t' has a previous declaration as 'typedef long int time_t'
In file included from c:\program files (x86)\arduino\hardware\tools\g++_arm_none_eabi\bin../lib/gcc/arm-none-eabi/4.4.1/../../../../arm-none-eabi/include/sys/stat.h:9,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\cores\arduino/syscalls.h:32,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\variants\arduino_due_x/variant.h:50,
from C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\SPI/SPI.h:14,
from Chauffage.ino:2:
C:\Program Files (x86)\Arduino\libraries\Time/time.h:105: error: declaration of C function 'void setTime(int, int, int, int, int, int)' conflicts with
C:\Program Files (x86)\Arduino\libraries\Time/time.h:104: error: previous declaration 'void setTime(time_t)' here

JLuc:
mais je n'ai plus que 1,4ko de ram

Bah j'ai envie de dire il en reste encore :o

Bref sinon sans le code on est pas magicien on peut pas deviner ...

Sinon pas de magie non plus, les librairies entre micro 8-bits et ARM 32 bits sont pas souvent directement compatibles ...

Merci pour ta réponse, mais je crois en effet que la compatibilité y est pour beaucoup, pour le code je ne l'ai pas mis (près de 2500 lignes) pas possible de poster.
Mais entre temps j'ai fait encore quelques coupes sombres et j'ai gagné quelques % mais comme je l'ai dis mon programme n'es pas terminé et ca me fait peur...
Merci encore pour ta réponse.

Visiblement y'a des conflit entre time.h et sys/types.h
change tous les time_t en time_t2 par exemple, dans time.h et time.cpp

time_t est un format de variable reconnu par le C time_t2 connais pas !
Peux-tu m'en dire plus ?

Je sais juste que time_t est le nombre de seconde écoulées depuis le 01/01/12 : http://www.cplusplus.com/reference/ctime/time_t/

Après je découvre avec toi que ça fait partie intégrante du C

Du coup ce que je comprend : la librairie Time que tu utilises, utilise Time.h qui est semble-t-il un fichier de base du C et qui est également utilisé par le compilateur ARM. Donc conflit car "c'était pas prévu pour" on va dire. Donc soit tu trouves une autre lib que Time, soit il va falloir la modifier

Bonjour,
Au vu des erreurs rencontrées, je dirai qu'il n'y a pas que là que ca coince, j'ai en fait l'impression que ide Arduino étant en version beta n'est pas encore à la hauteur pour la compatibilité direct des différentes versions d'Arduino, et j'ai dans l'idée qu'il vont bientôt créer une nouvelle version parce qu'en plus il y a un nouvelle Arduino avec processeur Intel à 400Mhz qui fait son entrée.
Alors pour le moment comme j'ai pu optimiser et gagné suffisamment pour pouvoir continuer un peu, je reste avec le2560, j'essaierai une migration plus tard.
Quoi qu'il en soit, je te remercie beaucoup pour ton aide et je reviendrai parler de la migration dès que le besoin s'en fera sentir comme ca, si ca peut en aider d'autres...

Elle existe depuis plusieurs mois déjà : Arduino Education

Oui c'est vrai, mais il n'y a toujours de prise en compte dans l'ide, donc je verrais avec la prochaine version, merci.

Ha ben ca y est, je viens de regarder et la version 1.5.6 vient de sortir avec prise en compte du Galileo, affaire à suivre...

Bon je réédite mon post :
Après avoir testé (juste pour voir) c'est quasiment pareil, j'ai surtout l'impression qu'il y a une vrai incompatibilité dût au matériel, du coup le compilateur ne fait pas de miracle, et moi je me vois mal réécrire tout le programme, j'y ai passé trop d'heure et je vais plutôt revoir à la baisse les possibilité que j'avais prévu.
Merci pour ton aide.

C:\Program Files (x86)\Arduino*libraries\Time/time.h*:15: error: conflicting declaration 'typedef long unsigned int time_t'

Celle là, ce n'est pas toi qui l'aurait ajoutée.
Elle n’apparaît pas chez moi. Et c'est elle qui est en conflit avec la définition dans types.h du compilateur C arm.

Je viens de voir que tu as posté pendant que je rééditais mon précédent post.
Non je n'ai retouché aucune librairies, je me contente d'écrire les programmes, ca me suffit, je n'aime pas réinventer la roue.
Avec la dernière version je n'ai pas remis cette librairie et les erreurs (même légèrement différentes) persistent.

Bonjour,

Dans Time.h au début :

#include <inttypes.h>
#ifndef AVR
#include <sys/types.h> // for __time_t_defined, but avr libc lacks sys/types.h
#endif

#if !defined(__time_t_defined) // avoid conflict with newlib or other posix libc
typedef unsigned long time_t;
#endif

Pas de bol la libc de ARM-gcc possède bien le fichier sys.types.h contrairement à la avr-libc.

Commente la ligne suivante et ça devrais marcher :

typedef unsigned long time_t;

Bonjour,
Mon projet avance bien, et je n'ai plus besoin de la librairie time.h du coup plus de problème mais je me heurte à d'autres depuis hier, j'ai mis une carte réseau w5200 à la place de la w5100 car limité et lente. Je devrai donc pouvoir avancer encore, dès que j'aurai trouvé une librairie adapté pour le due.
Merci beaucoup pour toute l'aide apportée.