如何将#define
添加到我的Makefile中,以便在文件夹中的所有C ++文件中对其进行定义?
答案 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