gpt4 book ai didi

c++ - 生成文件 : converting file extension

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:20:58 25 4
gpt4 key购买 nike

首先我想指出,我对 makefile 还很陌生,如果我写了一些愚蠢的东西,我深表歉意:)

我有一个变量名为 SRC 的 makefile,它是我的源文件列表,扩展名为 *.cpp。我使用以下指令将此列表转换为目标文件列表(扩展名 *.o):

OBJ = $(SRC:%.cpp=%.o)

现在我想扩展我的 makefile,使我的源文件列表包含 *.cpp 和 *.cu 文件。我希望目标文件列表包含我所有的扩展名为 *.o 的文件名。为实现这一点,我有一个包含 *.cpp 文件的 SRC 变量和一个包含 *.cu 文件的新 SRC_cu 变量,我执行以下操作:

OBJ = $(SRC:%.cpp=%.o)
OBJ += $(SRC_cu:%.cu=%.o)

这很好用,但我想知道是否有一种方法可以对一条指令执行相同的操作,也就是说,只需要一个带有混合扩展名的 SRC 变量,然后说“转换我所有的文件,扩展名为 x或 y,到 *.o 文件。

最佳答案

一个更通用的选项是:

OBJ := $(addsuffix .o,$(basename $(SRC)))

这将从 SRC 中的文件名中删除任何类型的后缀,并将 .o 添加到每个文件名中。

关于c++ - 生成文件 : converting file extension,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26355869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com