我在这里使用m4进行一些文本预处理,它的行为方式我不明白。
这是有问题的部分:
ifdef(`TEST',
define(`O_EXT', `.obj'),
define(`O_EXT', `.o'))
无论是否定义.o
(m4 -DTEST),此宏总是扩展为TEST
。
我做错了什么?
答案 0 :(得分:0)
您没有引用ifdef
的其他参数。试试这个:
ifdef(`TEST', `define(`O_EXT', `.obj')', `define(`O_EXT', `.o')')