【发布时间】:2009-09-17 18:13:53
【问题描述】:
在我的 C++ 项目中,我有一个约定,每当定义宏 DEBUG 时,调试 printf-esque 语句都会编译到可执行文件中。
为了表明我是否希望将这些编译到可执行文件中,我通常会使用 -Dmacro 选项将宏名称传递给 gcc。所以,在Makefile我(目前)有:
CXXFLAGS += -g -I ../ -Wall -Werror -DDEBUG
但是,这不是很灵活;如果我不想在最终程序中使用调试语句,则必须修改 Makefile 以删除 -DDEBUG。
有没有办法修改Makefile,这样我可以通过传入另一个目标名称或命令行开关有条件地选择是否在编译时使用 CXXFLAGS 中的 -D 进行编译?不知道我是怎么做的。
【问题讨论】:
标签: c++ build debugging makefile macros