-
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
- Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
- Nagra IV i zewnętrzny pilot
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
Najnowsze wątki
- 2025-03-20 Grubość socketa AM4+procesor
- 2025-03-20 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-03-20 Warszawa => Senior Programmer C <=
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-20 Greenpeace została zobowiązana do zapłaty niemal 667 mln dolarów [USA,wyrok sądu]
- 2025-03-20 Re: Dlaczego tak odstają od Tesli?
- 2025-03-19 Brak ograniczeń dla chińskiego kapitału - wam nie do rządu, tylko na zmywak do chińskiej knajpy!!!
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 szal-Unia == federacja policyjna
- 2025-03-19 Polsza == państwo policyjne
- 2025-03-19 Grzegorz Płaczek o programie szczepień dzieci. ,,Stworzono eldorado dla firm farmaceutycznych"
- 2025-03-19 Wietnam wykłada 500M$ i chce zbudować fabrykę za 50G$
- 2025-03-19 Gemini
- 2025-03-19 Mokry sen Zenka :)
- 2025-03-19 Re: Dlaczego tak odstają od Tesli?