我正在使用m4-define创建一个宏。我尝试使用include(file(读取文件的内容,如下所示。
define(`TEST', include(file1))
TEST
文件1:
test -abc -LDFLAGS "-Wl,-rpath,/home/user -lmsg"
当我运行代码时,它会发出警告,并且不会打印任何超出-Wl 的内容
m4:r1:1: Warning: excess arguments to builtin `define' ignored
test -abc -LDFLAGS "-Wl
我试着用单引号,但没有用。有人能帮我解决这个问题吗?
如果文件中有逗号,这些逗号将被解释为参数分隔符。在确定define
的自变量之前插入include
替换。
使用单引号是正确的——那么include
将在输出中进行处理。例如:
define(`TEST', `include(file1)')
TEST
在我的机器上工作。(请注意,更好的解决方案是在file1
周围添加引号(。