Riz*_*ias 4 makefile g++ compiler-options c-preprocessor
我对 make 文件不太有经验,并且正在尝试在 Eclipse (linux) 中的 make 文件中定义预处理器变量。
这变成了一项不平凡的任务,因为它似乎遗漏了一些东西......
您可以在下面找到我的 make 文件的结构:
var_first=g++
all:
g++ main_cell.cpp -o hello
Run Code Online (Sandbox Code Playgroud)
以这种方式构建我的代码,我想要做的是在我的 make 文件中定义一个变量,然后在我的代码中使用 #ifdef、#endif 对其进行断言。
我已经经历了无数的组合,但似乎缺少一些步骤......
您能给一些指点吗?
要在编译时添加定义,请使用-Dg++ 选项。像这样:
g++ -DMyDefine=123 main_cell.cpp -o hello
Run Code Online (Sandbox Code Playgroud)
现在main_cell.cpp你可以这样做:
#if MyDefine == 123
doStuff();
#endif
Run Code Online (Sandbox Code Playgroud)
要为此使用 makefile 变量,请执行以下操作:
all: g++ main_cell.cpp -o hello -Dvar_first=$(var_first)
Run Code Online (Sandbox Code Playgroud)
这相当于#define var_first g++.cpp 文件中的内容
| 归档时间: |
|
| 查看次数: |
5589 次 |
| 最近记录: |