Cmake 添加包含路径到叮当声

Cmake add include paths to clang

本文关键字:叮当声 路径 包含 添加 Cmake      更新时间:2023-10-16

我目前正在使用 GitHub 的 Atom 进行C++开发。我找到了插件autocomplete-clang它为 Atom 添加了自动完成功能。我的问题是,我使用 cmake 来构建我的程序,我也使用这样的项目结构:

- Sensors
-- src
-- inc
- LowLevel
-- src
-- inc
- System
-- src
-- inc

我只在代码的someSourceFileFromLowLevel.cxx中使用#include "someHeaderFromSystem.h"。这意味着,clang 找不到包含文件。

有没有办法告诉clang在哪里可以找到文件,这不会改变任何全局系统变量?

没问题,这就是include_directories的目的。

它指定编译器将在其中搜索的其他包含目录。


如果你有一个CMakeList.txt在传感器,低级别,系统,你可以在每个列表中添加以下内容:

include_directories(inc)

如果您只有一个主CMakeLists.txt

include_directories(Sensors/inc LowLevel/inc System/inc)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)添加到生成文件compile_commands.jsonCMakeLists.txt文件中。使用此文件,include指令工作正常。