5° C++ Linker – Libraries :
• Libraries : libcore.a
• Library search path : ajouter le répertoire AVR_Studuino où se trouve libcore.a
6° C++ Linker – Optimization : cocher « Garbage collect unused sections
7° C++ Linker – Miscellaneous : ajouter “-Wl,-lcore -Wl,-lm”
Lorsque tout cela est fait, il faut faire un rebuild.
Celui-ci va produire des erreurs mais son but est de produire un fichier makefile.
Dans la fenêtre des properties, prendre maintenant l’onglet « Build* » , cocher Use External Makefile et pointer sur le fichier Makefile créé dans le répertoire …\votre projet\Debug
Ensuite, ouvrir le fichier makefile avec le notepad et rechercher « -WL ». Cela permet de trouver la ligne à modifier.
Modifiez cette ligne en déplaçant vers la fin les flags que nous avons ajoutés, conformément à ceci :
$(QUOTE)$(AVR_APP_PATH)avr-g++.exe$(QUOTE) -Wl,--gc-sections -mmcu=atmega328p -Wl,-Map=$(MAP_FILE_PATH_AS_ARGS) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-lcore -Wl,-lm -Wl,-L"C:\Documents and Settings\Jeannot\Mes documents\AVRStudio\AVR_Studuino"
Ne pas oublier de sauvegarder le fichier modifié.
Il reste à ajouter au projet les fichiers de la librairie utilisée : Project -> Add existing items -> OneWire.cpp et OneWire.h
Retourner dans Studio et faire un Rebuild. Celui-ci devrait être successfull et se terminer par ceci :
AVR Memory Usage
----------------
Device: atmega328p
Program: 1164 bytes (3.6% Full)
(.text + .data + .bootloader)
Data: 23 bytes (1.1% Full)
(.data + .bss + .noinit)
make: Leaving directory `C:/Documents and Settings/Jeannot/Mes documents/AVRStudio/TutoCumLib/TutoCumLib/Debug'
Done executing task "RunAvrGCC".
Done building target "CoreBuild" in project "TutoCumLib.avrgccproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files\Atmel\AVR Studio 5.0\Vs\Avr.common.targets" from project "C:\Documents and Settings\Jeannot\Mes documents\AVRStudio\TutoCumLib\TutoCumLib\TutoCumLib.avrgccproj" (entry point):
Done building target "Build" in project "TutoCumLib.avrgccproj".
Done building project "TutoCumLib.avrgccproj".
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
(Voir ci-dessous la copie de l’Output en fichier attaché.)
Voici encore le contenu des répertoires du projet et de Debug comme contrôle :
En conclusion, il y a quelques différences par rapport aux essais précédents. Il serait utile d’étudier si toutes les différences sont nécessaires pour la réussite du build. Ce sera le travail de demain.
Makefile (4.41 KB)
Rebuild Verbose Output.txt (19.8 KB)