C++ i Avr Studio 5

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Jonas L
Inlägg: 432
Blev medlem: 14 juli 2009, 14:28:41
Ort: Karlshamn

C++ i Avr Studio 5

Inlägg av Jonas L »

Då var det dags att plocka upp AVR-programmerandet igen efter ett par månaders avbrott. AVR Studio 5 - alltid kul med en ny version...

Tyvärr så verkar den inte fungera speciellt bra. Vid import av gamla projekt så fick den med sig en del inställningar. Dock tappade den bort hälften av filerna, men de letade jag upp igen. Problemet kommer när man kompilerar en C++-fil. Av någon anledning verkar den då strunta i att ge g++ några direktiv, så g++ kör utan optimeringar och vet inte vilket chip den arbetar med.

Den enda workaround som jag känner till är att inkludera en .h-fil i stil med:
#define __AVR_ATmega8__
#define F_CPU 8000000UL

Om man ska kunna göra så gäller det att hitta något som motsvarar optimering -O2 som jag kan skriva i .h-filen. Men det här känns helt fel. Det måste ju finnas inställningar för hur den ska anropa g++? Allt som finns under "toolchain" i project properties gäller bara gcc, assembler och länkare.

Det sättet som beskrivs bl.a. på avrfreaks är att man ska döpa om filerna till .c och lägga in direktiv för att tolka dem som c++. Med denna metod tolkas då alla filer som c++, och det vet jag inte om jag är sugen på.

Nån som har några smarta lösningar?
monstrum
Inlägg: 620
Blev medlem: 13 januari 2005, 05:38:32
Ort: Göteborg

Re: C++ i Avr Studio 5

Inlägg av monstrum »

Det var länge sedan jag körde AVR-studio, och då byggde jag inte genom programmet utan direkt med make.

Använder AVR-studio make eller ropar den manuellt på gcc för varje källfil?
Jonas L
Inlägg: 432
Blev medlem: 14 juli 2009, 14:28:41
Ort: Karlshamn

Re: C++ i Avr Studio 5

Inlägg av Jonas L »

Den använder make. Ett alternativ är en extern make-fil. Det projektet jag grejar med just nu är i slutfasen så kan det vara ett alternativ, men för ett aktivt projekt där man lägger till filer och ändrar beroenden vill man definitivt inte använda något så hemskt och omodernt som en manuellt skapad make-fil.
Skriv svar