-
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
- Lampy uliczne LED z kubkiem
- Pęczniejące LiPo
- wyłącznik ścienny
- "Wybitna" inteligencja AI
- test stereo
- Bluetooth stereo
- W USA budują pierwszą komercyjną elektrownię fuzji jądrowej
- Weryfikacja myjki ultradźwiękowej
- zasieg radaru
- Zmywarka Bosch SRV55T43EU - awaria
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
Najnowsze wątki
- 2025-09-29 Białystok => Programista Delphi <=
- 2025-09-29 Białystok => Delphi Programmer <=
- 2025-09-29 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-09-29 Warszawa => Engineering Manager <=
- 2025-09-28 środki przymusu bezpośredniego
- 2025-09-28 monitor vs tv
- 2025-09-28 Takim bym jeździł - Złomnik: Golf jedynka z wnętrzem od Fabii
- 2025-09-27 Lampy uliczne LED z kubkiem
- 2025-09-27 ostatni raz byłem na myjni
- 2025-09-27 Warszawa => Senior SAP Consultant - PP area <=
- 2025-09-26 Zimowy płyn do spryskiwania szyb
- 2025-09-25 Ekstradycja Ukraińca za wysadzenie Nord Stream
- 2025-09-25 Mentzen: Nie macie pojęcia o kryptowalutach, a chcecie decydować o ich przyszłości!
- 2025-09-25 Wycofują 3G. Nie będzie nawet internetu.
- 2025-09-25 Pęczniejące LiPo