gpt4 book ai didi

c++ - 在 makefile 中列出 .cpp 或 .o

转载 作者:行者123 更新时间:2023-11-28 02:06:46 25 4
gpt4 key购买 nike

我在当前代码库中看到 makefile 中的 2 个模式:

  1. 列出所有cpp文件
  2. 列出所有cpp文件,但扩展名改为.o

例子:

ex1.mk

...
SRCS=src1.cpp src2.cpp ...
...

ex2.mk

...
OBJS=src1.o src2.o ...
...

根据我对 makefile 的新手理解,这两种方法似乎可以互换,并且其中任何一种都足够了。查看有关 makefile 的教程,我可以在同一个文件中看到它们,有时像:

OBJS = $(SRCS:.cpp=.o)

SRCSOBJS 有什么区别?我是否需要同时定义 SRCSOBJS?如果是,为什么仅通过定义 SRCSOBJS 就可以工作?如果不是,我如何在定义 SRCSOBJS 之间做出选择?

最佳答案

如果您定义 SRCS,则 OBJS = $(SRCS:.cpp=.o) 规则通过替换从中定义 OBJS后缀。

如果您定义了OBJS,那么Make 知道可以通过编译.cpp 文件来创建.o 文件。

无论哪种方式都可以。在给定项目中整合和使用一种样式会很好。

关于c++ - 在 makefile 中列出 .cpp 或 .o,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37163481/

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