m4不遵守扩张?

时间:2010-08-24 21:07:57

标签: preprocessor m4

我在这里使用m4进行一些文本预处理,它的行为方式我不明白。

这是有问题的部分:

ifdef(`TEST',
    define(`O_EXT', `.obj'),
    define(`O_EXT', `.o'))

无论是否定义.o(m4 -DTEST),此宏总是扩展为TEST

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您没有引用ifdef的其他参数。试试这个:

ifdef(`TEST', `define(`O_EXT', `.obj')', `define(`O_EXT', `.o')')