如何在Makefile中定义C++预处理器变量

Joe*_*oel 41 c++ makefile

我有一个像这样写的C++预处理器:

  #ifdef cpp_variable
   //x+y;
  #endif
Run Code Online (Sandbox Code Playgroud)

请有人告诉我如何在Makefile中定义它.

谢谢!

Ree*_*sey 43

这是特定于编译器的.

GCC使用-Dcpp_variable=VALUE 或仅使用-Dcpp_variable

微软的编译器使用/D


fou*_*nes 28

搜索编译器文档以了解如何执行此操作.

例如,g++语法是:

g++ -Dcpp_variable <other stuff>
Run Code Online (Sandbox Code Playgroud)

这对应于添加

CPPFLAGS += -Dcpp_variable
Run Code Online (Sandbox Code Playgroud)

在你的makefile中.

  • 从技术上讲,因为您可以从命令行执行此操作,所以可以从makefile完成 - 只需将相关命令放在makefile中即可.(除了抄袭之外,这个评论在撰写这个答案时可能实际上并不正确) (2认同)

Pet*_*eng 10

添加到Makefile:

CPPFLAGS = -Dcpp_variable
Run Code Online (Sandbox Code Playgroud)


Eug*_*nca 5

语法是特定于编译器的,因为gcc使用如下-D选项:-Dcpp_variable.