Makefile 项目中的 CLion 索引

Posted

技术标签:

【中文标题】Makefile 项目中的 CLion 索引【英文标题】:CLion Indexing in Makefile project 【发布时间】:2015-03-22 15:23:00 【问题描述】:

所以,我了解 CLion 目前仅完全支持 CMake 项目。我不在乎我是否不能用 CLion 编译或运行任何东西,因为我目前还没有用 Eclipse 这样做。我只是在寻找编辑器支持,具有不错的点击关注、自动完成等功能。

我想知道索引是否仍然可以用于非 CMake 项目。我可以很好地创建我的项目,并且索引完成得很好,但是完成后它找不到我的包含文件。它创建一个默认的 CMakeLists.txt 文件,其中添加了适当的源和 include_directories。但这似乎没有什么不同,因为在索引完成后我仍然无法单击以关注#include 行,并且对其他文件中的任何内容的任何引用都无法正常工作。

我还能做些什么来使索引工作,以便我可以将 CLion 用作编辑器,还是在某天添加 Makefile 支持之前这是一个白日梦?

【问题讨论】:

【参考方案1】:

经过一些研究,我发现您的最佳机会是:

    创建后,编辑 CMakeLists.txt(例如,请参阅 How to find libraries)。一个例子:

    set(Library "../Library")
    include_directories($Library)
    set(SOURCES main.cpp)
    add_executable(project_name $SOURCES)
    

注意../进入up文件夹,在main.cpp中你可以使用#include "header_to_add.h"header_to_add.h必须在../Library文件夹中。

    编辑您的源代码 .cpp、.h 或其他任何内容以添加您想要#include 的库的完整路径,同时考虑到文件所在目录中的范围开始。

例如:#include "../Library/header_to_add.h"(注意“../”比当前文件夹上一级”。

    (可能不可能或很难)修改 makefile 以准备 CMake 以获得必要的输入(例如,请参阅 this)。

我推荐第一个主要是因为它维护了源文件之外的结构。

编辑:也可以准备 CMake 以使用 makefile (Source)。

【讨论】:

以上是关于Makefile 项目中的 CLion 索引的主要内容,如果未能解决你的问题,请参考以下文章

clion中C项目交叉编译说明

Makefile项目管理-----在Linux下编译c/c++程序

为 CLion 使用本地 makefile 而不是 CMake

clion中cmake导入的是哪个目录

Makefile相关知识

从另一个makefile在Makefile中追加/替换字符串