【问题标题】:CLion IDE does not resolve header files when use remote host使用远程主机时 CLion IDE 不解析头文件
【发布时间】:2021-06-20 10:58:05
【问题描述】:

我将 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 重新安装它们。

【问题讨论】:

  • 您是在编辑 local 存储库,还是真的在编辑 remote 存储库?如果您正在编辑本地存储库,则需要在本地系统上包含所有第三方库开发包(除非它们作为存储库的子模块包含,在这种情况下,您必须确保将它们作为好吧)。如果您在 Git 中使用子模块,那么如何获取它们有详细的文档说明。
  • @Someprogrammerdude 感谢您的回复。几天前。我发现头文件被静默安装在.cache/JetBrains/CLion2020.3/.remote/MyHostName_PortNumber/usr/include/x86_64-linux-gnu/the_header_files.h中。但现在他们不是。我怎样才能让 CLion 重新安装它们。

标签: clion


【解决方案1】:

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

【讨论】:

  • CMake 3.20 是否不受支持?
  • @MaximBanaev 是的,我安装了 Cmake 3.20,但它不适用于 CLion 最新版本。 3.17 是 CLion 现在支持的最新版本的 CMake。
  • 有趣,我以为是 3.19,因为他们将它与 IDE 捆绑在一起
  • @MaximBanaev 也许这取决于您客户端中的 CLion 版本。我使用 Clion 20.03 版。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2023-04-02
    • 2019-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2017-01-15
    • 1970-01-01
    相关资源
    最近更新 更多