【问题标题】:How to set up sub directory includes in CMake/CLion?如何设置子目录包含在 CMake/CLion 中?
【发布时间】:2018-06-05 02:42:43
【问题描述】:

这类似于Including directories in Clion,但在遵循接受的答案后,我没有取得任何进展。

我正在尝试在 CLion 中编辑一个大型 OSS 项目。它不使用 CMake,因此 CLion 生成了一个 CMakeLists.txt 文件。当我打开源文件时,无法解析使用子目录的包含:

此屏幕截图来自的文件位于它从中导入的同一“opto”子目录中。如果我将导入更改为不包含“opto”,它可以正常工作,但我不能这样做,因为这是一个主要项目,我只想写一个小补丁:

$ find . -type f | wc -l
10532

按照其他答案中的建议,我已将要导入的文件直接添加到 add_executable

# CMakeLists.txt
add_executable(hotspot
    [lots of other files]
    src/share/vm/opto/compile.hpp
)

我已将opto 目录添加到include_directories,如另一个问题的第二个答案中所述:

# CMakeLists.txt
include_directories(
    src
    src/share/vm/opto)

两者都没有帮助 CLion 通过 opto 子目录解决导入问题。

我错过了什么?

【问题讨论】:

  • > 因为这是一个大项目,我只是想写一个小补丁,那么使用文本编辑器而不是 IDE 会更好。因为它是一个大项目,你不能使用一个简单的列表文件,因为它是一个小补丁,你可以使用文本编辑器。所以我不明白,为什么不呢。
  • 我也有同样的问题。你找到解决办法了吗?
  • 不,我放弃了:(
  • 您找到解决方案了吗?

标签: c++ cmake clion


【解决方案1】:

必须使用include_directories(),但必须单独提及每个子目录。下面我以相同的方式包含了两个目录,其中一个是 sub_directory。

CLion 已成功检测到头文件。

【讨论】:

    猜你喜欢
    • 2016-08-21
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    相关资源
    最近更新 更多