[avr-gcc] nie działa -DFOSC=8000000

Witam!

Dziwny problem.

Kompiluje kod za pomocą polecenia:

gcc ... -DFOSC=8000000 ...

i wywala mi mase błedów typu podwójne definicje funkcji/etc.

jeśli kompiluje bez tej definicji to kod nie ma błędów. Okaząło się ze w ogóle dodanie czegokolwiek typu -DFOO=NULL powoduje wywalanie się procesu linkowania (kompilacja _chyba_ zachodzi bez błedów). avr-gcc w wersji 3.4.3.

Czy coś źle robię ? Chciałem sobie wyprodukować różne firmware dla róznych kwarców za jednym zamachem z tego samego kodu. A wygląda mi to na błąd w gcc.

Reply to
Sebastian Bialy
Loading thread data ...

A jak kompilujesz? Kompilujesz najpierw moduly do plikow .o i pozniej linkujesz czy generujesz od razu plik wynikowy? Czy kompilacja wywala sie tez jak w kodzie dodasz odpowiednie #define? Przepusc kod przez preprocesoR (gcc -E) i zobacz jak wyglada kod wynikowy.

pzdr. j.

Reply to
Jacek R. Radzikowski

Od razu wynikowy.

Nie, właśnie w kodzie mam definicję FOSC i nie ma problemu:

#ifndef FOSC #define FOSC 11059200 #endif

Gdy jednak puszczę kompilator z zewnatrzną definicją -DFOSC=8000000 to wysypuje się sterta błedów o podwójnych definicjach funkcji, co w ogóle nie ma zawiązku. Błędy wystepują przy każdej zdefiniowanej preze mnie funkcji.

Nijak, tzn poprawnie raczej.

Reply to
Sebastian Bialy

Hm, wyglada to co najmniej dziwnie. Skompiluj kod do pliku .o i dopiero pozniej zlinkuj. Moze to cos podpowie? Komunikaty wyswietlane z -v tez moga cos podpowiedziec. Wiecej pomyslow nie mam

pzdr. j.

Reply to
Jacek R. Radzikowski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.