首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否有一种方法可以为c++创建一个makefile,以便在每次使用make命令时运行程序?

是否有一种方法可以为c++创建一个makefile,以便在每次使用make命令时运行程序?
EN

Stack Overflow用户
提问于 2019-09-17 16:27:55
回答 1查看 546关注 0票数 3

我有一个C++项目的makefile,它编译并为程序创建一个可执行文件,然后运行该可执行文件。问题是,我希望每次使用make命令时都要运行可执行文件,但是如果对需要重新编译的源代码没有任何更改,make将返回“make: nothing to no”。是否有一种方法来格式化makefile,以便在需要编译时编译并运行,否则只运行可执行文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-17 17:08:40

您可以简单地添加一个新目标来运行程序,并使该目标依赖于程序的创建。如果使该目标成为默认目标(all:)的依赖项,则它将始终在成功构建后运行该程序。

如下所示:

代码语言:javascript
运行
复制
SOURCES = ./src/main.cpp


OBJECTS = ./bin/main.o


# default target to build hello executable & run it if successful
all: hello run

hello: $(OBJECTS)
    $(CXX) -o $@ $^

bin/%.o : src/%.cpp
    $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(LDFLAGS)

run: hello
    ./hello

clean:
    @rm -rf hello $(OBJECTS)

.PHONY: all run clean

注意:目标名"run“没有什么特别之处。我本可以叫它“拼字游戏”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57978429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档