gpt4 book ai didi

c++ - 编译并使用makefile运行

转载 作者:行者123 更新时间:2023-12-02 10:25:42 25 4
gpt4 key购买 nike

我是使用makefile的新手。我有四个文件,其中一个是头文件。我想在终端中编写命令: make do nu = 20 。这应该编译所有文件和c++程序,而nu = 20表示主函数中的argc和argv变量。

但是会发生错误,即它们未正确链接。这是makefile
抱歉,有错误,但是我对这些东西很陌生。真正应该怎么写?

nu = 15

main.o: main.cpp ballbounce.h threads.cpp GUI.cpp
g++ -c main.cpp

threads.o: threads.cpp ballbounce.h main.cpp GUI.cpp
g++ -c threads.cpp

GUI.o: GUI.cpp ball.h main.cpp threads.cpp
g++ -c GUI.cpp

run: main.o threads.o GUI.o ball.h
g++ -o run main.o threads.o GUI.o

do: run
./run $(nu)

clean:
rm main.o threads.o GUI.o run

最佳答案

您可以这样做:

像这样编辑makefile中的行

do: run
./run ${nu}

然后打电话
make do nu=20

当您像这样调用它时, nu将为 20,并且在您调用make而不提供 nu
make do
nu将是 15(就像您在 makefile中声明的一样,如默认值)

关于c++ - 编译并使用makefile运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28123623/

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