Переопределить макрос из командной строки
Я хотел бы переопределить макрос из командной строки. Где-то в моем источнике есть такое определение:
#define MY_FOO 1
Я хотел бы установить значение этого макроса при компиляции моей программы:
g++ -DMY_FOO=2 ...
Но затем макрос переопределяется исходным кодом в его старое значение 1. Проблема в том, что я не являюсь владельцем той части источника, которая в первую очередь определяет макрос. Если бы это был мой собственный код, я мог бы просто написать
#ifndef MY_FOO
#define MY_FOO 1
#endif
И моя проблема исчезнет. Так есть ли способ указать макрос в командной строке, используя g ++, чтобы исходный код не мог переопределить его?