8

次の行を指定します。

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

.oに置き換えるのではなく、各ファイル名に追加し.cppたいと思います.o

それ、どうやったら出来るの?

4

6 に答える 6

9

GNU make には、 addsuffix関数があります

于 2010-06-21T09:57:27.337 に答える
7

スペースで区切られたアイテムのリストに何かを追加するには、次を使用できます。

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

置換方法を使用するには(質問に示されているように):

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

ただし、そのためには、リストに.cpp サフィックスが含まれている必要があります。そうしないと、置換が行われません。

于 2010-06-21T09:41:19.350 に答える
7

パターン置換を使用した短い代替方法:program_OBJS := ${program_SRCS:%=%.o}

于 2010-06-24T20:01:33.740 に答える
3

拡張子に関係なく機能するもう 1 つの方法:${program_SRCS:=.o}

于 2014-06-19T13:58:01.397 に答える
1

ただの推測program_OBJS := ${program_SRCS:.cpp=.cpp.o}

于 2010-06-21T09:38:19.270 に答える