Problem mit AVR in Qt Creator

#4223780
Lesenswert?

Hallo,

ich programmiere meine AVR's schon seit längerem im Qt Creator. Nun 
wollte ich mal alle meine Defines in der .config abspeichern. Also ich 
nutze die Option die Projekte als .creator abzuspeichern. Und in die 
.config kommen alle Defines.
Nun wollte ich dort auch F_CPU hinmachen, damit es Projektübergreifend 
ist.
Man kann auch aus jeder .c-Datei auf F_CPU zugreifen. Bei Mouseover, 
wird der Wert angezeigt.
Aber beim komilieren kommt die Warnung
1
c:\qt\tools\avr8_gcc\native\3.4.1056\avr8-gnu-toolchain\avr\include\util\delay.h:90: Warnung: #warning "F_CPU not defined for <util/delay.h>" [-Wcpp]
2
 # warning "F_CPU not defined for <util/delay.h>"
3
   ^
Also anscheinend erkennt das #ifndef garnicht das #define in der 
.config.
Ich verwende Qt Creator 3.4.2 mit Qt 5.5.
Hat jemand das selbe Problem und evtl. schon eine Lösung?
Gast #4223935
Lesenswert?

Mathias O. schrieb:
> Also anscheinend erkennt das #ifndef garnicht das #define in der
> .config.
Könnte vielleicht daran liegen, das du diese komische .config-Datei 
nicht includierst. Damit kann der Compiler/Präprozessor das define auch 
nicht finden...
Was die IDE bei Mouseover etc. anzeigt, hat nichts mit dem 
Compiler/Präprozessor/Linker zu tun.

Mach es einfach richtig, und schreib deine defines, die du immer wieder 
brauchst in eine config.h und includiere diese einfach.

Grüße
#4224065
Lesenswert?

die <Project>.config-Datei ist m.E. nur für den Editor/Parser da, damit 
der weiß, welche Präprozessor-Optionen Du im Makefile (das Qt Creator ja 
nicht interprätiert) gesetzt hast. Beim Build werden die nicht 
verwendet.

So kann er z.B. im Editor das "grau Hinterlegen" von #ifdef 
DEBUG-Passagen im Editor aufheben, wenn Du -DDEBUG im Makefile gesetzt 
hast.

<Project>.config-Dateien spielen nur bei externen Builds (also dann, 
wenn man statt qmake Make oder CMake benutzt) eine Rolle.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren