c++ - CLion给cmake源文件加上头文件不好吗?

标签 c++ cmake clion

当我使用以下对话框使用 clion 创建一对新的 .h 和 .cpp 文件时

enter image description here

如果我选中“添加到目标”和“创建关联的 header ”,它会修改 set(SOURCE_FILES ...) 行,然后将其传递给 add_executable因此它包含 new_source_file.hnew_source_file.cpp。如果我对C++和cmake的理解是正确的,那就不好了,因为头文件应该不会自己编译。我对吗?这是 CLion 的问题吗?

最佳答案

在CMakeLists.txt中添加headers是正确的。

CMake 足够智能,不会在 header 上调用编译器,但将它们添加到 CMakeLists.txt 可确保它们在 cmake 生成的项目(例如,Visual Studio 项目和代码块项目)中被引用。这反过来又可以在大多数支持 cmake 的 IDE 的“项目” Pane 中显示标题(而不仅仅是 .cpp 文件)。

如果您不添加它们,编译本身应该可以正常工作,但 IDE 可能不知道此类 header 是您项目的一部分,因此它们不会包含在项目 Pane 中,在“在项目中搜索”功能等。

关于c++ - CLion给cmake源文件加上头文件不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34716059/

相关文章:

Android Gradle 插件 7.0.0 和 NDK : UnsatisfiedLinkError

c++ - 使用 biicode 和 clion?

c++ - 如何在 C++ 中创建代码发射器

c++ - 为什么 cout 一个简单的 char* 不起作用?

c++ - 从成员指针中提取它指向​​的类的类型

cmake - 如何在重新安装期间使用 CPack NSIS 显示卸载程序窗口?

cmake - 如何让 CMake 将私有(private)框架嵌入到 macOS 应用程序包中?

c++ - Clion mongodb 依赖设置

c - “Use of a signed integer operand with a binary bitwise operator”-使用unsigned short时

c++ - 我应该使用什么算法在流量有下限但没有上限的有向图中找到最小流量?