“Georg:Zajímavé je, že na řádku 2 mám include s <> a tam to nevadí. Možná proto, že jsem převzal project z Arduino IDE.”
Tie dva druhy zátvoriek majú úplne odlišný význam.
Zátvorky < > odkazujú na hľadanie v príslušnom podadresári, kde je nainšatlované AVRStudio.
Napríklad direktíva
#include <util/atomic.h>
spôsobí, že konkrétne v mojom prípade systém tento header súbor hľadá na mieste:
c:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\atomic.h
ale direktíva
#include “tng_runtime_v03.h”
načíta súbor ‘tng_runtime_v03.h’, ktorý sa nachádza priamo v adresári projektu.
Je to tak preto, aby sa štandartné headre nemuseli stále kopírovať do adresárov projektov a zároveň aby boli pre všetky projekty rovnaké.
Ten druhý dôvod však vie spraviť pekný prúser, ak sa inštaluje nová verzia AVR Studia s gcc, ktorá obsahuje zmenou “vylepšené” kľúčové *.h súbory.
Staré projekty nemusia ísť vôbec preložiť pre hlásenie chýb typu “daná premenná nie je definovaná”, lebo v novej verzii AVRStudia, respektíve v jeho jednom kľúčovom hlavičkovom súbore niekoho “rozumne” napadlo danú premennú oproti predchádzajúcej verzii premenovať.
Dosť som si toho užil pri prechode medzai AVR studiom 3,5 a AVRStudiom 4.x.
Je dobré na to pamätať pri prechode na nové verzie sw a tie staré odkladať, aby sa dalo miesto, kde bola spravená zmena ľahšie identifikovať.