如何在Makefile中添加#define?

时间:2018-11-13 19:23:37

标签: c++ makefile

如何将#define添加到我的Makefile中,以便在文件夹中的所有C ++文件中对其进行定义?

4 个答案:

答案 0 :(得分:2)

只需在命令行上添加-Dxxx=yy(宏的名称xxx和替换的yy,或者如果没有值,只需添加-Dxxx)。

这不是Makefile命令,它是编译器命令行选项的一部分。

答案 1 :(得分:1)

假设您要替换#define MYDEF

在makefile中,您具有编译器命令行,例如(最简单的示例):

g++ -o myfile.cpp

要为每个myfile.cpp获得#define,只需像这样使用-D

g++ -DMYDEF -o myfile.cpp

答案 2 :(得分:1)

我将添加编译器标志,以将宏(-D设置为GCC)到标准变量CXXFLAGS,以便将其应用于任何隐式规则编译器调用:

CXXFLAGS += -DMY_DEFINE

然后将该变量添加到您可能具有的所有显式规则中:

target: source.cpp
    $(CXX) -std=c++14 $(CXXFLAGS) ...

因为标准变量仅添加了隐式规则

答案 3 :(得分:1)

使用可以使用头文件

defining.h:

#define deff 10

main.cxx或您要使用的任何文件

#include "definitions.h"

另一种方法是在编译时给出以下参数 g ++ -DMYDEF file1.cpp file2.cpp ------ file200.cpp -o abc.exe