c++ - 如何检查 makefile 中已定义符号(Eclipse-> 路径和符号)的值?

标签 c++ makefile compilation eclipse-cdt symbols

我们有一个项目曾经是 Eclipse 管理的 CDT 项目。但是,我正在尝试将其更改为标准的 makefile 项目。

其中一个在

中定义了几个符号
Project Properties->C/C++ General->Paths & Symbols->Symbols. 

以前Eclipse生成的makefiles在管理的时候自动获取值。这些符号需要发送给编译器。如何在我自己的 makefile 中获取值?有办法吗?

谢谢,抱歉,我知道这些问题听起来很复杂。

编辑:

我所说的符号是指编译器的 -D 符号。我们有一个 COMPILE_FOR_ACOMPILE_FOR_B 并且值是 1 或 0。如果 COMPILE_FOR_A=1,它将使用特定的值,并且如果 COMPILE_FOR_B=1 它将使用其他一些值。

最佳答案

使用environment variablesconditionals告诉你的选择。像这样的东西:

DEFINES = -DFOO

ifeq ($(COMPILE_FOR_A),1)
    DEFINES += -DBAR
else
    DEFINES += -DBAZ
endif

然后在环境中使用/不使用变量调用make:

~$ COMPILE_FOR_A=1 make

关于c++ - 如何检查 makefile 中已定义符号(Eclipse-> 路径和符号)的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2968158/

相关文章:

c++ - std::map 迭代器到自身

c++ - 默认参数必须在编译时绑定(bind) - 为什么?

c++ - SFML 编译库 GLEW

ssl - Golang - 跳过 SSL/x509 验证和构建包?

assembly - bool 值 "notted"是如何汇编的?

c++ - 错误 : void value not ignored as it ought to be

c - Makefile:没有链接问题的编译

makefile - 递归调用的 make 中的错误不会停止调用 make

shell - Makefile 中 shell 脚本行输出的重定向

compilation - 使用\tikzexternalize