Hello Skywodd,
Merci pour tes infos. Je les verrai plus en détail demain.
Je publie maintenant mes informations sur le Build réussi:
Comme je vous le disais ci-dessus, j’ai finalement réussi à faire un build d’un programme Arduino avec appel à une librairie (OneWire), ceci en grande partie grâce à la lecture du site http://www.engblaze.com/tutorial-using-avr-studio-5-with-arduino-projects/ mentionné ci-dessus. Si vous lisez le site vous trouverez cependant quelques petites différences avec mon exemple.
Dans un premier temps, je vous donne ci-dessous le maximum de fichiers et copies d’écran pour servir de documents de référence et permettre à tout le moins de revenir aux paramètres garantissant une réussite.
Voici d’abord le code minimaliste que j’ai utilisé :
En fait, j’ai compilé dans l’IDE Arduino le code suivant :
Après compilation, le répertoire « C:\Documents and Settings\Jeannot\Local Settings\Temp\buildxxxxxxxxxxxxxxxxx.tmp\ » contient le fichier TutoCumLib.cpp
C’est le texte de ce fichier que j’ai recopié dans Studio5.
La différence entre les deux est l’ajout des 3 lignes suivantes :
#include "WProgram.h"
void setup();
void loop();
A noter que Wprogram.h est inclus entre " " et non entre < > (signification ?)
Les deux autres lignes sont les prototypes des fonctions obligatoires d'Arduino.
Dans le même répertoire temporaire du build de l’Arduino, j’ai fait une copie du fichier core.a pour le mettre dans le répertoire « C:\Documents and Settings\Jeannot\Mes documents\AVRStudio\AVR_Studuino » et le renommer libcore.a (Ceci avait déjà été fait lors des premiers essais).
Il est temps de passer maintenant aux paramètres de Toolchain (Project -> TutoCumLib Properties -> Toolchain) :
1° C++ Compiler - Symbols : ajouter « F_CPU=16000000L »
2° C++ Compiler – Directories : J’ai ajouté ici le répertoire Arduino qui contient les hardware cores, le répertoire Arduino qui contient la ou les librairies utilisées (OneWire) et mon répertoire AVR_Studuino qui contient le fichier libcore.a
3° C++ Compiler – Optimization :
• Optimization Level : « Optimize for size »
• Other optim. Flags: “-fdata-sections”
• Cocher la case “Prepare for garbage”
4° C++ Compiler – Miscellaneous :
• Other flags : “-fno-exceptions”
• Cocher « Verbose »
• Cocher « Do not delete temporary file »
... Suite dans le message suivant ...