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 に答える