Как переопределить значение макросов __TIME__ и __DATE__, используя параметры командной строки? - PullRequest
0 голосов
/ 07 ноября 2018

В проекте, где макросы __FILE__ и __DATE__ используются в одном из модулей, я пытаюсь переопределить значения этих макросов для явных значений во время сборки. Попытка использовать параметр -D, например -D__TIME__=01:23:45, вызвала ошибку компиляции.

Compiling ./Console.c
In file included from <built-in>:324:
<command line>:41:9: error: redefining builtin macro [-Werror,-Wbuiltin-macro-redefined]
#define __TIME__ 01:23:45
        ^
1 error generated.

Есть ли способ установить эти макросы (и аналогичные предопределенные макросы) из командной строки, не изменяя сам исходный код?

1 Ответ

0 голосов
/ 07 ноября 2018

Компиляция с переключателем -Wno-builtin-macro-redefined.

Это отключит предупреждение (включая ошибку, которую вы получите, потому что вы также компилируете с -Werror). Я не могу заверить вас, что он будет делать с определением макроса - кажется, что Clang выполняет запрос на использование определения командной строки, но я не знаю, будет ли он это делать при любых обстоятельствах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...