CLion 索引器不解析项目目录中的某些包含
CLion indexer does not resolve some includes in the project directory
我有一个具有以下结构的 CLion C++ 项目:
project
---->my_includes
| ----> my_own.hpp
---->source
----> my_app
----> my_src.cpp
my_src.cpp的第一行是
#include "my_includes/my_own.hpp"
我使用需要这种包含格式的外部构建系统。问题是,如果我在包含 header 中定义的源文件中使用函数,如果我尝试将鼠标悬停在包含
上,CLion 会显示 "Cannot find my_own.hpp"
我尝试将 include 目录标记为包含项目源或 Headers 但这并没有解决问题。有什么想法吗?
这应该是一个基于 CMake 的项目,可以在 CLion 中正确打开。
如果您是 CMake 新手,请查看 CMake 基础教程:https://www.jetbrains.com/help/clion/2016.1/quick-cmake-tutorial.html
您需要创建 CMakeLists.txt
才能让 CLion 开心。声明所有源文件就足够了,您不必将 scons(或任何其他构建系统)转换为 cmake。
你甚至不必手写 CMakeLists.txt,你可以让 CLion 来做:
File | New CMake Project from Sources...
(自 CLion 2019.2 起)
File | Import project ... |
(较旧的 CLion)
然后指向包含您的项目的目录。
现在编辑生成的 CMakeLists.txt
并添加一个 cmake 命令来告诉 CLion 在哪里可以找到包含(实际上是告诉编译器,CLion 将重用该信息)。
由于您的源文件使用包含 #include "my_includes/my_own.hpp"
,您需要告诉 cmake 包含目录 my_includes
:
的基本目录
include_directories(.)
其中点表示与包含 CMakeLists.txt
.
的目录相同的目录
我测试了一个重现您的布局的项目,我可以从 my_src.cpp
导航到 my_own.hpp
。
然后要构建您仍然必须在控制台中使用 scons。也可以添加一个 cmake 命令 add_custom_target()
来调用你的 scons(或你的 make,或其他),这样你也可以从 CLion 导航到构建错误。
我有一个具有以下结构的 CLion C++ 项目:
project
---->my_includes
| ----> my_own.hpp
---->source
----> my_app
----> my_src.cpp
my_src.cpp的第一行是
#include "my_includes/my_own.hpp"
我使用需要这种包含格式的外部构建系统。问题是,如果我在包含 header 中定义的源文件中使用函数,如果我尝试将鼠标悬停在包含
上,CLion 会显示 "Cannot find my_own.hpp"我尝试将 include 目录标记为包含项目源或 Headers 但这并没有解决问题。有什么想法吗?
这应该是一个基于 CMake 的项目,可以在 CLion 中正确打开。 如果您是 CMake 新手,请查看 CMake 基础教程:https://www.jetbrains.com/help/clion/2016.1/quick-cmake-tutorial.html
您需要创建 CMakeLists.txt
才能让 CLion 开心。声明所有源文件就足够了,您不必将 scons(或任何其他构建系统)转换为 cmake。
你甚至不必手写 CMakeLists.txt,你可以让 CLion 来做:
File | New CMake Project from Sources...
(自 CLion 2019.2 起)File | Import project ... |
(较旧的 CLion)
然后指向包含您的项目的目录。
现在编辑生成的 CMakeLists.txt
并添加一个 cmake 命令来告诉 CLion 在哪里可以找到包含(实际上是告诉编译器,CLion 将重用该信息)。
由于您的源文件使用包含 #include "my_includes/my_own.hpp"
,您需要告诉 cmake 包含目录 my_includes
:
include_directories(.)
其中点表示与包含 CMakeLists.txt
.
我测试了一个重现您的布局的项目,我可以从 my_src.cpp
导航到 my_own.hpp
。
然后要构建您仍然必须在控制台中使用 scons。也可以添加一个 cmake 命令 add_custom_target()
来调用你的 scons(或你的 make,或其他),这样你也可以从 CLion 导航到构建错误。