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

问题描述 投票:0回答:6

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

  #ifdef cpp_variable
   //x+y;
  #endif

如何在 Makefile 中定义它?

c++ makefile
6个回答
58
投票

这是编译器特定的。

GCC 使用

-Dcpp_variable=VALUE
或仅使用
-Dcpp_variable

Microsoft 的编译器使用

/D


37
投票

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

例如,对于

g++
,语法为:

g++ -Dcpp_variable <other stuff>

对应添加

CPPFLAGS += -Dcpp_variable

在你的makefile中。


12
投票

添加到Makefile:

CPPFLAGS = -Dcpp_variable

5
投票

语法是特定于编译器的,对于 gcc 使用

-D
选项,如下所示:
-Dcpp_variable


4
投票

在 Makefile 中获取一个变量,无论您需要在其中定义什么,只需添加 -DXXX。在你的例子中,XXX是cpp_variable。

例如

COMPILE_OPTS = -DXXX

g++ -c $(COMPILE_OPTS) $<


0
投票

如果你想在 c/cpp 文件中执行以下操作

#define VARIABLE_NAME 2 

然后,在 make 文件中,使用以下行:

CDEFS += -DVARIABLE_NAME = 2
© www.soinside.com 2019 - 2024. All rights reserved.