使用 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
中声明的那样,如默认值)
我刚开始使用 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
中声明的那样,如默认值)