0

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

这是有问题的部分:

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

无论是否定义(m4 -DTEST) ,此宏将始终扩展为。.oTEST

我究竟做错了什么?

4

1 回答 1

0

你没有引用其他论点ifdef。试试这个:

ifdef(`TEST', `define(`O_EXT', `.obj')', `define(`O_EXT', `.o')')
于 2010-09-21T00:55:15.943 回答