代码之家  ›  专栏  ›  技术社区  ›  Robert S. Barnes Antoni

gnu make:如何连接两个字符串

  •  5
  • Robert S. Barnes Antoni  · 技术社区  · 14 年前

    鉴于这条线:

    program_OBJS := ${program_SRCS:.cpp=.o}
    

    我想附加 .o 而不是替换每个文件名 .cpp 具有 o

    我该怎么做?

    6 回复  |  直到 14 年前
        1
  •  7
  •   Veger    14 年前

    只是

    program_OBJS := $(foreach program,$(program_SRCS),$(program).o)
    

    要使用替换方法(如您在问题中所示):

    program_OBJS := $(program_SRCS:.cpp=.cpp.o)
    

        2
  •  9
  •   Basilevs    9 年前

    GNU制造 addsuffix 功能

        3
  •  7
  •   slowdog    14 年前

    program_OBJS := ${program_SRCS:%=%.o}

        4
  •  5
  •   PoVa    7 年前

    这个怎么样:

    STRING1:="foo"
    STRING2:="bar"
    
    STRING1:=$(STRING1)$(STRING2)
    

    显然,您可以将结果保存到一个新变量中。

        5
  •  3
  •   Pavel Tumanov    10 年前

    另一种工作方式不考虑扩展: ${program_SRCS:=.o}

        6
  •  1
  •   ur.    14 年前

    program_OBJS := ${program_SRCS:.cpp=.cpp.o}