-
Data: 2013-11-24 09:13:07
Temat: Atmel Studio, projekt w wielu plikach i dyrektywa #include
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Do tej pory pisałem swoje programy pod AVR-y w niezbyt elegancki sposób,
umieszczając wszystko w jednym pliku źródłowym. W ramach nauki
postanowiłem jednak zmienić ten nawyk, poza tym pojawiła się potrzeba
wykorzystania cudzych bibliotek.
Stworzyłem więc nowy projekt w Atmel Studio, zaimportowałem plik *.c i
*.h potrzebnej biblioteki, potworzyłem też pliki dla swoich bibliotek.
Mając jeszcze w większości puste pliki (tzn. zawierające jedynie
niezbędne szkielety programu) wykonałem "Build Solution"
Kompilator zwrócił serię błędów, wskazując na plik nagłówkowy
zaimportowanej biblioteki. Wszystkie one dotyczyły nieznanego typu
zmiennej: "unknown type name 'uint16_t'" (tudzież uint8_t),
występującego w deklaracjach nazw funkcji, umieszczonych w owym pliku
nagłówkowym. Same definicje funkcji w pliku .c już o nic nie krzyczały.
Doszedłem do tego, że winny jest brak dyrektywy #include <avr/io.h> na
początku feralnego pliku nagłówkowego, który ze względu na nazwę jest
sprawdzany przez kompilator jako pierwszy.
Mam teraz następujące wyjścia:
1. Umieścić #include już na początku pliku nagłówkowego, ale chyba nie
jest to zbyt eleganckim wyjściem. Na różnych przykłądach widzę, że te
dyrektywy umieszcza się raczej w plikach *.c.
2. Zmienić nazwy plików tak, aby kompilowały się później.
A może istnieje jakiś sposób na poinformowanie kompilatora, żeby
dołączył określony plik już na samym początku? Albo żeby zmienił
kolejność kompilacji poszczególnych plików?
Następne wpisy z tego wątku
- 24.11.13 10:47 Marek
- 24.11.13 10:56 Atlantis
- 24.11.13 15:10 Grzegorz Niemirowski
- 24.11.13 15:10 Grzegorz Niemirowski
- 25.11.13 11:04 Piotr Gałka
- 25.11.13 14:38 Marcin
- 25.11.13 15:16 Piotr Galka
- 25.11.13 15:52 Marcin
- 25.11.13 18:49 Marek
- 25.11.13 19:47 Marcin
- 25.11.13 19:55 Marcin
- 24.11.13 22:06 janusz_k
Najnowsze wątki z tej grupy
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow
- 2026-01-27 Warszawa => APM/Observability Engineer (Presales Engineer) <=
- 2026-01-26 #Motodziennik 365 Powrót spalinowych Renault Megane i Scenica, Volvo EX60 oraz ID.Tiguan
- 2026-01-26 Ciekawe fikoły
- 2026-01-26 Toruń => Preseles Inżynier (background baz danych) <=
- 2026-01-26 sznurowadła kwestia prawna
- 2026-01-26 Białystok => Senior Frontend Developer React <=
- 2026-01-26 Warszawa => Consultant Microsoft Dynamics 365 Finance (F&O) <=
- 2026-01-25 Organizacja religijna i nielegalna sprzedaż
- 2026-01-25 Tego "księdza" powinni wywalić z kościołai z pracy w kościele
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA
- 2026-01-25 Zbudowany przez studentów z Holandii samochód koncepcyjny ARIA
- 2026-01-25 "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają