Собственно вопрос выше. У меня есть файл main.c в котором подключен файл file1.c, где находятся #ifdef DEBUG. При использовании для компиляции такой строки: gcc main.c -dDEBUG -o main.exe выдаётся такой warning:
Warningscc1.exe: warning: unrecognized gcc debugging option: E
cc1.exe: warning: unrecognized gcc debugging option: B
cc1.exe: warning: unrecognized gcc debugging option: G
и ifdef не срабатывает. Если поменять DEBUG на D, ничего не меняется, кроме отсутствия варнингов.
Возможно ли это решить без изменения main.c или нужно передавать в функцию какой-то флаг для дебага в виде аргумента?
В интернете нашёл, что define работает только для текущего файла, но разве #include отрабатывает не раньше него? Про это интернет молчит.