没有规则来制定目标' |'结束了

时间:2015-11-12 07:56:12

标签: gnu-make

我抓住了制作错误:

make: no rule to make `|' needed by cryptest.exe

这是食谱:

cryptest.exe: public_service | libcryptopp.a $(TESTOBJS)
    $(CXX) -o $@ $(CXXFLAGS) $(TESTOBJS) ./libcryptopp.a $(LDFLAGS) $(LDLIBS)

| Order-only prerequisites。仅限订单的先决条件通常有效,因此我不确定此实例中的问题是什么。

为什么我收到制作错误?

我对这个问题道歉。我想这个已被多次询问和回答过。很遗憾,Google和Bing似乎都没有使用 | 等字符。

1 个答案:

答案 0 :(得分:1)

仅限订单的先决条件是GNU Make 3.80中引入的一项功能。

摘自NEWS文件:

  

版本3.80

     
      
  • 存在一项新功能:仅限订单的先决条件。这些先决条件会影响构建目标的顺序,但它们不会影响其依赖项的重建/不重建决策。也就是说,它们允许您在目标A之前要求构建目标B,而不要求在目标B更新时始终重建目标A.由Greg McGary提供此功能的补丁<…@mcgary.org>
  •