c++ - 如何在 makefile 中只编译一个 .h 文件?

标签 c++ makefile g++

我有一个 makefile 为两个类(和 main)创建目标文件,其中一个类只是在 .h 文件中定义。在我的 makefile 中有一行内容是

FileName.o: FileName.h
  g++ -c FileName.h

但是当我尝试编译时它说找不到 FileName.o

我必须创建 FileName.cpp 才能编译吗?

最佳答案

您正在某处使用 FileName.h 中的类,对吗?所以至少你的 .cpp 文件之一应该包含 #include "FileName.h" , .h的代码将使用这个.cpp编译,你不需要单独编译.h的代码。

关于c++ - 如何在 makefile 中只编译一个 .h 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10112851/

相关文章:

c - 将 cmake 与共享(动态)库结合使用

c++ - C++11 中的函数签名差异

c++ - 程序在 g++ 中编译但在 gcc 中退出时出现链接器错误

c++ - 如何使用 std::max 或 std::min 作为函数参数

ubuntu - makefile 的配方中的前导 "@"是什么

C++,静态对象的构造函数中的异常绕过先前静态对象的析构函数

c++ - Makefile 没有按照我告诉它的方式构建对象

c++ - 模板链接错误

c++ - 通过placement-new手动构造一个平凡的基类

c++ - 使用专门用于分层类构造的模板