eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAtmel Studio, projekt w wielu plikach i dyrektywa #includeAtmel Studio, projekt w wielu plikach i dyrektywa #include
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!wsisiz.edu.pl!.POSTED!not-for-mail
    From: Atlantis <m...@w...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Atmel Studio, projekt w wielu plikach i dyrektywa #include
    Date: Sun, 24 Nov 2013 09:13:07 +0100
    Organization: http://www.wit.edu.pl
    Lines: 29
    Message-ID: <l6sceu$3r4$1@portraits.wsisiz.edu.pl>
    NNTP-Posting-Host: apn208.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    X-Trace: portraits.wsisiz.edu.pl 1385280798 3940 83.26.147.208 (24 Nov 2013 08:13:18
    GMT)
    X-Complaints-To: a...@w...edu.pl
    NNTP-Posting-Date: Sun, 24 Nov 2013 08:13:18 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101
    Thunderbird/24.1.1
    X-Enigmail-Version: 1.6
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:655728
    [ ukryj 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?

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: