在CLion中,仅标头的库:文件“不属于任何项目目标,代码洞察功能可能无法正常工作”

xaxxon:

我使用cmake命令设置了仅标头的库项目:

add_library(my_library INTERFACE)

而且我还添加了

target_sources(my_library INTERFACE ${MY_LIRBARY_HEADER_FILES})

但是当我打开源文件时,得到警告:

该文件不属于任何项目目标,代码洞察功能可能无法正常工作

而且我在代码补全等方面失去了很多功能。

什么是正确的设置方式,以便CLion在仅标头的库中提供其通常的功能?

海星:

小背景

我遇到了同样的问题,尽管该项目不是仅头文件,但是inc,即使CMake文件将该文件夹明确标记为,文件夹中的打开文件仍会引发上述警告include_directory

* .hpp文件不属于$ {SOURCE}

include_directories("${PROJECT_SOURCE_DIR}/inc/")
add_subdirectory(src)
add_executable(${EXECUTABLE_NAME} main.cpp ${SOURCE})

由于这是一个完全有效的CMake文件,并且将包含文件添加到源文件中并不是惯用的,所以我不想修改CMake文件。

解决方案

如官方JetBrains论坛中所述,CMake文件确实有效,并且由于CLion无法正确索引头文件而显示警告。从链接中提取的建议解决方法是右键单击该文件夹,然后单击Mark directory as|。Library Files/Project Sources and Headers

因此,此标头不包含在可执行文件中,CLion会通知您某些代码洞察功能可能无法正常工作。解决方法是,可以使用“将目录标记为”库文件/项目源和文件夹标题。

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

我需要一些特定的东西来使标头定位功能正常工作吗?

jQuery固定标头无法正常工作

查找不属于多个定义范围内的所有值

为什么可变长度数组不属于C ++标准?

Neo4j-不属于链条!关系Traversal游标

Tensorflow摘要:添加一个不属于计算图的变量

如何为不同的字段添加“装饰危险”?例如,如果它不属于50-100,我想将字段更改为红色。其他可能是85-95

添加目标时CSS焦点无法正常工作

异步中代码执行的顺序等待在Node.js中的函数中无法正常工作?

在数组中查找第二大项目无法正常工作

是否可以从PHP文件发送标头,但绝对不执行任何操作

removeEventlistener与箭头功能和参数无法正常工作

遍历嵌套有dict的多级列表的功能无法正常工作

NetBeans无法正常工作,Linux上的新项目

addEventListener(“ load”)在Chrome中无法正常工作?

React Native中的BackHandler无法正常工作

HTTP标头值的可能类型

从本地文件系统提供的Webworker无法正常工作

下载了Json文件,构建游戏后无法正常工作

如何将CSV文件中的标头从CSV文件复制到PostgreSQL表?

CopyOnWriteArrayList无法正常工作

RTL无法正常工作

AMP电子邮件| CORS标头问题?在操场上工作,不在Gmail中工作

NSMutableAttributedString的属性NSStrikethroughStyleAttributeName在iOS8中无法正常工作

元注释和测试类中的@ActiveProfiles无法正常工作

在PHP Mailer中添加CC无法正常工作

IE / Edge中的Babel 7传播语法无法正常工作

Google App Engine中的Cron作业无法正常工作

我的ngIf Else无法在Angular 6中正常工作