我正在尝试匹配这样的 C 错误消息:
gmake[1]:进入目录`/project/swbuild45/ethanl/swfeature_int/pkt' ... sw/se/xc/bsd/routing/rib/src/rib_bfd_thrd.c:在函数'bfd_delete_constituent_session'中: sw/se/xc/bsd/routing/rib/src/rib_bfd_thrd.c:3654: 错误: 'bfd_ses' undeclared (第一次在这个函数中使用) sw/se/xc/bsd/routing/rib/src/rib_bfd_thrd.c:3654:错误:(每个未声明的标识符只报告一次 sw/se/xc/bsd/routing/rib/src/rib_bfd_thrd.c:3654:错误:对于它出现的每个函数。) sw/se/xc/bsd/routing/rib/src/rib_bfd_thrd.c:3654:错误:预期';' 在“sion_cst”之前 sw/se/xc/bsd/routing/rib/src/rib_bfd_thrd.c:3663: error: 'dbl_dequ' undeclared (第一次在这个函数中使用) sw/se/xc/bsd/routing/rib/src/rib_bfd_thrd.c:3663:错误:预期';' 在“eue”之前 ... gmake[1]: 离开目录`/project/swbuild45/ethanl/swfeature_int/pkt'
到目前为止,我想出了这个:
errorformat=%f:%l:\ %m,%Dgmake[%\\d%\\*]:\ Entering\ directory\ `%f',%Xgmake[%\\d%\\*]:\ Leaving\ directory%s
它打开文件并将我置于第一个错误,但我必须键入:cn
四次才能得到第二个错误。我试图设置多行错误,但到目前为止我的错误字符串不起作用:
errorformat=%-Z%f:\ %s,%C%f:%l:\ %m,%A%f:\ %m,%Dgmake[%\\d%\\*]:\ Entering\ directory\ `%f',%Xgmake[%\\d%\\*]:\ Leaving\ directory%s
你有更好的主意吗?