抛出错误但没有详细的错误消息

时间:2016-06-07 22:51:40

标签: makefile

以下是在根级别/ home / gm / TEST /运行“make install”输出的最后几行:

make[3]: Leaving directory `/home/gm/TEST/tppf/tm/ipmgt'
ld  ipfac.o ipfacV.o ipfac_rset.o ipfac_args.o ipfac_d2a.o ipfac_a2d.o ipfac_modr.o ipfac_mod.o ipfac_read.o ipfac_add.o ipfac_del.o ipfac_list.o ipfac_unlk.o ipfac_lock.o ipfac_util.o ipfac_lkid.o -r -o /home/gm/TEST/tppf/lib/ipfac_tppf.o
make[3]: Leaving directory `/home/gm/TEST/tppf/tm/ipfac'
make[2]: Leaving directory `/home/gm/TEST/tppf/tm'
make[1]: *** [i_tm] Error 2
make[1]: Leaving directory `/home/gm/TEST/tppf'
make: *** [i_tppf] Error 2

/ home / gm / TEST / tppf / tm / ipfac下的Makefile包含以下规则:

install: ipfac.h $(TPPLIB)/ipfac_tppf.o

$(TPPLIB)/ipfac_tppf.o: $(PROPOBJS)
    ld  $(PROPOBJS) -r -o $(TPPLIB)/ipfac_tppf.o

链接过程有问题吗? Make应该告诉我错误实际上是什么,但事实并非如此。

BTW,我认为/ home / gm / TEST / tppf / lib / ipfac_tppf。 O已成功链接并创建,或者至少在make / failed / gm / TEST / tppf / lib /中存在失败并退出后。

1 个答案:

答案 0 :(得分:5)

该行不是错误行。你可以告诉它成功,因为那里没有错误信息,用于构建目标/home/gm/TEST/tppf/lib/ipfac_tppf.o

错误在于:

make[1]: *** [i_tm] Error 2

[1]表示它是makefile的第一级(请注意,此处引用的配方位于makefile的第3级),而[i_tm]表示构建目标{{ 1}}失败了。您需要在make的输出中进一步查看,早于您向我们展示的内容,并找到用于构建i_tm目标的***错误行,并查看在那里生成的错误。< / p>