c++ - 使文件问题 : always spits out "Nothing to be done for ` make. w'。”

标签 c++ linux makefile

我有 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使用非默认生成文件 makefileMakefile你需要使用 -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/

相关文章:

python - 如何在 python 中设置代理值和运行 linux 命令

makefile - 如何打印使用target_compile_options()设置的当前编译标志?

makefile - 如何将makefile目标中的 '$*'值大写?

c++ - 如何从文本文件中读取一组值,然后转到下一行并执行相同的操作

linux - 生产者-消费者模式不适合我们的应用程序?或者只是使用上的误解?

c++ - 在opencv中检测黄色

c - 如何测量Linux多线程环境中函数的总执行时间

c++ - Cmake 编译具有 VTK 依赖性的目录中的所有 c++ 文件

c++ - 如何在c++/cli中正确释放Bitmap的 'external'像素数据

c++ - 在 Linux 上测试网络代码的最准确方法是什么?