gcc - 如何删除 gnu make 文件中的最后一个尾随(反)斜杠?

标签 gcc compilation makefile gnu

我想写一个make文件来编译我的源代码。我必须在我的 make 文件中放入包含路径,但我有很多包含源代码的文件夹。
在生成文件中,我有一个包含所有 .c 文件的列表,如下所示:

__MDA_SRC = \
$(__VIEWPATH)\f_03\test\mda\src\mda.c

现在我需要找出这个文件的路径。

我试过这个:
__PATHS_FEATURE = \
$(dir $(__MDA_SRC ))

__INCLUDE_PATHES := \
-I$(__PATHS_FEATURE)

但我有一个错误 F100: cannot open ...bla bla..
我认为问题出在路径上,因为路径是用最后一个反斜杠提取的,例如:..\..\..\..\..\f_03\test\mda\src\
我怎么能没有像这样的最后一个反斜杠的路径:..\..\..\..\..\f_02\hydraulic\btc\src

最佳答案

这对我来说似乎不太可能是问题,但你可以用

$(__PATHS_FEATURE:\=)

或者
$(patsubst %\,%,$(__PATHS_FEATURE))

关于gcc - 如何删除 gnu make 文件中的最后一个尾随(反)斜杠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33126425/

相关文章:

c - 'ftell()' 读取的字符越多,返回值就一定越大吗?

可以修改 C 中的字符串文字吗?

c++ - 在 2 个 c 文件中包含头文件(包含变量定义)时没有构建错误

makefile - 生成文件中缺少 MACHTYPE

c - 需要帮助解决警告 : dereferencing type-punned pointer will break strict-aliasing rules

c - 如何在 gcc cygwin 中启用 __far

c++ - sublime text C++ 编译导致段错误

java - 使用javac编译时为"packaged does not exist"

makefile - 在GNU Make中使用ifeq和ifndef

c - 将 m5ops.h 链接到 C 项目