Как определить переменную препроцессора C ++ в Makefile - PullRequest
39 голосов
/ 07 марта 2011

У меня препроцессор C ++ написан так:

  #ifdef cpp_variable
   //x+y;
  #endif

Пожалуйста, кто-нибудь подскажет, как определить это в Makefile.

спасибо!

Ответы [ 5 ]

40 голосов
/ 07 марта 2011

Это зависит от компилятора.

GCC использует -Dcpp_variable=VALUE или просто -Dcpp_variable

Microsoft использует компиляторы /D

28 голосов
/ 07 марта 2011

Найдите в документации по компилятору, как это сделать.

Например, для g++ синтаксис:

g++ -Dcpp_variable <other stuff>

Что соответствует добавлению

CPPFLAGS += -Dcpp_variable

в вашем make-файле.

10 голосов
/ 27 января 2015

Добавить в Makefile:

CPPFLAGS = -Dcpp_variable
5 голосов
/ 07 марта 2011

Синтаксис зависит от компилятора, для gcc используйте параметр -D, например, так: -Dcpp_variable.

1 голос
/ 22 ноября 2018

Возьмите переменную в Makefile и все, что вам нужно определить в ней, просто добавьте -DXXX. Где XXX в вашем случае - cpp_variable.

Например

COMPILE_OPTS = -DXXX

g ++ -c $ (COMPILE_OPTS) $ <</p>

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