我有一个使用 cmake 命令设置的仅标头库项目:
add_library(my_library INTERFACE)
我还添加了
target_sources(my_library INTERFACE ${MY_LIRBARY_HEADER_FILES})
但是当我打开源文件时,我收到警告:
此文件不属于任何项目目标,代码洞察功能可能无法正常工作
我失去了很多代码完成等功能。
设置它的正确方法是什么,以便 CLion 在仅标头库上提供其常用功能?
原文由 xaxxon 发布,翻译遵循 CC BY-SA 4.0 许可协议
小背景
我遇到了同样的问题,尽管该项目不是仅标题,但是,来自
inc
文件夹的打开文件抛出了上述警告,即使 CMake 文件清楚地将该文件夹标记为include_directory
。*.hpp 文件不属于 ${SOURCE}
由于这是一个完全有效的 CMake 文件,并且将包含文件添加到源文件不是惯用的,因此我不想修改 CMake 文件。
解决方案
如官方 JetBrains 论坛 所述,CMake 文件确实有效,并且由于 CLion 无法正确索引头文件而显示警告。从链接中提取的建议解决方法是 右键单击文件夹和
Mark directory as
|Library Files
/Project Sources and Headers
。