在gcc中生成目标文件时创建目录

编程入门 行业动态 更新时间:2024-10-27 00:27:07
本文介绍了在gcc中生成目标文件时创建目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 gcc -o abc / def.o def.c 生成 def.o 目录中的文件 ABC ;只有当存在 abc 目录时。

有没有办法让gcc在生成的目标文件的封闭目录不存在时创建一个目录?如果不是,自动提前创建目录最简单的方法是什么,特别是对于Makefile?

解决方案

From 这篇文章,似乎没有办法从 gcc 创建一个目录。

对于makefile,我可以使用这段代码片段。

OBJDIR = obj MODULES:= src src2 ... OBJDIRS:= $(patsubst%,$(OBJDIR)/%,$(MODULES)) build:$(OBJDIRS) echo $ ^ $ b $(OBJDIRS): mkdir -p $ @

make build 会创建目录,并回显结果。

我们也可以在不调用 make build 的情况下自动创建目标文件。

PROG:= hellomake LD:= gcc ... $(PROG ):$(OBJDIRS)obj / src / hellofunc.o obj / src / hellomake.o $(LD)$(filter%.o,$ ^)-o $(PROG)

gcc -o abc/def.o def.c generates def.o file in a directory abc; only when there exists a directory abc.

Is there a way to make gcc to create a directory when the enclosing directory of the generated object file does not exist? If not, what could be the easiest way to make the directory in advance automatically, especially for Makefile?

解决方案

From this post, it seems like that there is no way to create a directory from gcc.

For makefile, I can use this code snippet.

OBJDIR = obj MODULES := src src2 ... OBJDIRS := $(patsubst %, $(OBJDIR)/%, $(MODULES)) build: $(OBJDIRS) echo $^ $(OBJDIRS): mkdir -p $@

make build will create directories, and echo the results.

We also can make the object files are created automatically without invoking the make build.

PROG := hellomake LD := gcc ... $(PROG): $(OBJDIRS) obj/src/hellofunc.o obj/src/hellomake.o $(LD) $(filter %.o, $^) -o $(PROG)

更多推荐

在gcc中生成目标文件时创建目录

本文发布于:2023-11-05 19:31:46,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:目标   文件   目录   gcc

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!