-
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
- Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- Aparat, zewnętrzny mikrofon, brum
- Wieszanie się przy aktywnym SMP
- Prognozowanie zużycia energii przez PGE?
- Odkurzacz mnie bije :(
- Rapsberry Pi i synchronizacja plików
- RCD 300 mA
- rpi i moduł przekaźników
- Falownik do pompy CO
- Lampa ogrodowa rozłączała różnicówkę
- Inteligentne oświetlenie schodów
- Pytanie do Użytkownika
- Emanuel kiedyś szukał gotowca do chłodzenia leków
- Sprzęty z Lidl-a
- idzie nowe
Najnowsze wątki
- 2024-10-07 Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- 2024-10-07 Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- 2024-10-07 Kraków => Head of International Freight Forwarding Department <=
- 2024-10-07 Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- 2024-10-07 Aparat, zewnętrzny mikrofon, brum
- 2024-10-07 MĂźnchen => Data Scientist <=
- 2024-10-07 Gdańsk => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-10-07 Kraków => Programista Full Stack .Net <=
- 2024-10-07 Re: Taniocha!!!
- 2024-10-07 Warszawa => Technical Leader (Java Background) <=
- 2024-10-07 Zielona Góra => Power Electronics R&D Engineer <=
- 2024-10-07 Warszawa => Junior New Business Development Manager <=
- 2024-10-07 Warszawa => Key Account Manager <=
- 2024-10-07 Wrocław => Konsultant wdrożeniowy ERP (Symfonia) <=
- 2024-10-07 policja szuka