我是使用makefile的新手。我有四个文件,其中一个是头文件。我想在终端中编写命令: make do nu = 20 。这应该编译所有文件和c ++程序,而nu = 20用于main函数中的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
答案 0 :(得分:0)
你可以这样做:
修改makefile
中的行,使其像这样
do: run
./run ${nu}
然后拨打电话
make do nu=20
当你打电话给它时nu
将是20
,当你打电话给make而不提供nu
make do
nu
将为15
(正如您在makefile
中声明的那样,与默认值一样)