Skocz do zawartości

ASURO+Eclipse - problem z kompilacją programu


PazitiF

Pomocna odpowiedź

Witam

Oto problem;) posiadam robota asuro, a do jego programowania używam Eclipse z winavrem. Plik nagłówkowy z deklaracjami funkcji i sam plik *.c z ich definicjami wgrałem do katalogu głównego projektu (pliki przygotowane przez producenta).

To prosty kod(również od producenta):

#include "asuro.h"

int main(void) {
Init();
StatusLED(RED);
while(1);
return 0;
}

a to wynik kompilacji w konsoli:

**** Build of configuration Release for project test ****

 

make all

Building file: ../main.c

Invoking: AVR Compiler

avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=1000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"

In file included from ../asuro.h:34,

from ../main.c:8:

c:/winavr-20100110/lib/gcc/../../avr/include/avr/signal.h:36:2: warning: #warning "This header file is obsolete. Use ."

../asuro.h:71: warning: inline function 'MotorSpeed' declared but never defined

../asuro.h:66: warning: inline function 'MotorDir' declared but never defined

../asuro.h:56: warning: inline function 'FrontLED' declared but never defined

../asuro.h:52: warning: inline function 'StatusLED' declared but never defined

../asuro.h:71: warning: inline function 'MotorSpeed' declared but never defined

../asuro.h:66: warning: inline function 'MotorDir' declared but never defined

../asuro.h:56: warning: inline function 'FrontLED' declared but never defined

../asuro.h:52: warning: inline function 'StatusLED' declared but never defined

Finished building: ../main.c

 

Building target: test.elf

Invoking: AVR C Linker

avr-gcc -Wl,-Map,test.map -mmcu=atmega8 -o "test.elf" ./asuro.o ./main.o

./main.o: In function `main':

main.c:(.text+0x4): undefined reference to `StatusLED'

make: *** [test.elf] Error 1

 

**** Build Finished ****

Ma ktoś może pomysł, jak rozwiązać dany problem? Nie rozumiem, czemu nie widzi definicji, skoro są zadeklarowane w *.h i zdefiniowane w *.c, które są w katalogu głównym projektu.

Pozdrawiam

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

dodałem plik z funkcjami przez import... , ale wyskoczył kolejny błąd:

**** Build of configuration Default for project test ****

 

make all

make: *** No rule to make target `all'. Stop.

 

**** Build Finished ****

są różne porady na ten temat, wiecie może jaka dotyczy tego przypadku? 😉

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.