Der folgende Code funktioniert:
1 | #define SYSTEM_H "system.h"
|
2 | #ifdef SYSTEM_H
|
3 | #include SYSTEM_H
|
4 | #endif
|
Wenn ich SYSTEM_H auf der Kommandozeile für gcc definiere, gehts nicht:
1 | avr-gcc ... -DSYSTEM_H="system.h" -c test.c -o obj/Debug/test.c |
2 | error: #include expects "FILENAME" or <FILENAME> |
3 | #include SYSTEM_H |
4 | ^ |
Warum? https://gcc.gnu.org/onlinedocs/cpp/Computed-Includes.html sagt:
1 | SYSTEM_H could be defined by your Makefile with a -D option. |
Also müsste es doch per -D gehen. Wo ist der Fehler?