gpt4 book ai didi

c++ - 在 CLion 中,仅 header 库 : file "does not belong to any project target, code insight features might not work properly"

转载 作者:IT老高 更新时间:2023-10-28 12:29:05 28 4
gpt4 key购买 nike

我有一个使用 cmake 命令设置的仅 header 库项目:

add_library(my_library INTERFACE)

我还加了

target_sources(my_library INTERFACE ${MY_LIRBARY_HEADER_FILES})

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

This file does not belong to any project target, code insight features might not work properly

而且我失去了很多代码完成等功能。

设置此功能的正确方法是什么,以便 CLion 在仅 header 库上提供其常用功能?

最佳答案

小背景

我遇到了同样的问题,尽管该项目不是仅标题,但是,来自 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 Forum所述,CMake 文件确实有效,并且由于 CLion 无法正确索引头文件而显示警告。从链接中提取的建议解决方法是右键单击文件夹并将目录标记为 | 库文件/项目源和标题.

So, this header isn't includes in executables and CLion notifies you that some code insight features might not work properly. As workaround you can use "Mark directory as" Library Files/Project Source and Headers for folder.

关于c++ - 在 CLion 中,仅 header 库 : file "does not belong to any project target, code insight features might not work properly",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46245738/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com