我有 3 个文件 Head.cpp 、 Head.h 和 Hello.cpp 。我正在尝试为编译过程构建一个 make。我的 makefile 是 make.w
Hello : Head.o Hello.o
g++ -o Head.o Hello.o
Head.o : Head.cpp
g++ -o Head.cpp
Hello.o: Hello.cpp
g++ -o Hello.cpp
每次我输入命令 make make.w - 我得到“Nothing to make fot make.w”。我不明白为什么会这样,也不知道如何解决。
最佳答案
由于您正在调用 make
使用非默认生成文件 makefile
或 Makefile
你需要使用 -f
选项为:
make -f make.w
^^
看起来你目前称它为:
make make.w
这是行不通的。它告诉make
使目标 make.w
在默认的 makefile 中。
同时从 .c
转换时至 .o
你需要使用 -c
告诉编译器只编译但不链接 的编译器标志。同样在使用 -c
时你不需要 -o
,编译器将生成 <filename>.o
给你。
Head.o : Head.cpp
g++ -c Head.cpp
^^
Hello.o: Hello.cpp
g++ -c Hello.cpp
^^
最后你遗漏了可执行文件的名称 Hello
在编译行上:
Hello : Head.o Hello.o
g++ -o Head Head.o Hello.o
^^^^
关于c++ - 使文件问题 : always spits out "Nothing to be done for ` make. w'。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3930344/