使用 makefile 编译和 运行

compile and run with makefile

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

但是出现了错误,即链接不正确。这是生成文件 对不起,对于错误,但我对这些东西很陌生。到底应该怎么写?

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 中声明的那样,如默认值)