CLion IDE 使用远程主机时不解析头文件

CLion IDE does not resolve header files when use remote host

我将 CLion IDE 用于小型 TensorRT 项目。该项目和相关库(Cuda、TensorRT)都位于 ssh 服务器上。该项目的一个版本是从服务器和 运行 本地克隆的。我设法在服务器和本地之间同步项目并成功构建项目(使用命令行 cmakemake)。一个问题是 CLion 无法解析头文件(位于远程位置,例如 TensorRT 库中的 NvInfer.h),因此代码自动完成也不起作用。我尝试了流动的解决方法:

  1. 使用 include_directories()

    将头文件的路径包含到 CMakeLists.txt
  2. Tool -> Resync with remote hosts.

  3. 创建 toolchain 并像 CLion official guide 中那样映射远程主机。

  4. 我也参考了this问题和其他类似的问题,但还是不行。

如果您已成功设置 CLion 进行远程开发,请帮助我。感谢阅读。

更多信息:

几天前。我发现头文件是静默安装在 .cache/JetBrains/CLion2020.3/.remote/MyHostName_PortNumber/usr/include/x86_64-linux-gnu/the_header_files.h 中的。但现在他们不是。我怎样才能让 CLion 再次安装它们。

我刚刚找到了答案。原因是CLion没有安装头文件到本地,因为我使用的是CLion不支持的cmake版本。我在 ssh 服务器上卸载 cmake,然后使用支持 CLion 的版本 (3.17.1) 重新安装它。谢谢!

我也有同样的问题,我发现只有部分头文件无法解析(unisth.h找到了,但是sys/stat.h没有)。真正的原因是这些文件作为符号链接存在于我的 Ubuntu 上。同步时,Clion会先使用tar打包文件,然后下载到本地。默认情况下,符号链接不会被解析为对应的files.To解决这个问题,我在注册表中启用clion.remote.tar.dereference键(转到Help | Find Action 或按 Ctrl+Shift+A,输入 Registry,然后按名称搜索密钥),然后单击 Tools |与远程主机重新同步。如果不起作用,您可能需要删除本地缓存手册(可能在 C:\Users\username\AppData\Local\JetBrains\CLion2021.1.remote),然后单击 工具 |与远程主机重新同步