c++ - CMake向目标添加头文件

标签 c++ cmake

我知道这是一个愚蠢的问题,但我是 C++ 及其开发环境的新手,我想以正确的方式学习它。

我正在尝试了解 CMake 的工作原理。使用 CLion(动态生成 CMakeList.txt),我看到创建类时,.cpp.h 都是添加到目标可执行文件。但是,当从 add_executable 调用中删除 .h 文件时,代码编译得很好,即使在 main.cpp 中有一个 #include 对该头文件的引用。

我的问题是向目标可执行文件添加 header 是否是可选的?我通常使用 VSCode,它不会为我生成 CMakeList.txt,并且我不想养成不向目标可执行文件包含 header 的习惯(如果我应该这样做)。

最佳答案

add_executable 只需获取传递给编译器的文件列表。编译器会忽略任何具有常规 header 后缀的文件(可能是它无法识别为源文件的所有后缀)。因此,就编译而言,没有必要列出头文件,列出它们也不会引起问题。

某些 IDE 可能会将列出的头文件用于某些内部目的。我不确定克利翁是否这样做;它的行为可能是为了方便使用另一个IDE。

关于c++ - CMake向目标添加头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61057405/

相关文章:

c++ - 在 cmake c++ 项目中包含库的首选方法是什么?

cmake - 从 llvm 源目录中使用 cmake 开发 llvm pass

html - 使用一些 html 从 Qt 中打开默认邮件应用程序

c++ - 如何在文件中查找由 2 个单词组成的字符串?

c++ - 如何重载 operator<< 以输出在模板内定义的 vector ?

c++ - 为什么我不能访问我的成员变量?

c++ - CMakeLists - 如何包含源文件和头文件的目录?

windows-7 - 使用 MinGW 和 Eclipse CDT 进行 CMake

CMAKE无法将.f90识别为源代码?

c++ - Netbeans C++ MinGW 设置