【问题标题】:How to navigate to source code in linked libraries in Clion?如何导航到 Clion 链接库中的源代码?
【发布时间】:2020-07-14 17:52:54
【问题描述】:

我有一个链接多个静态库的项目(例如 libModule.a)。当我尝试导航到 Module lib 中的类时,Clion 只将我带到标题声明并停止导航。我希望能够深入了解 Module lib 中的函数定义。

【问题讨论】:

  • 你有libModule.a的来源吗?
  • 是的。它们在同一个文件系统上。
  • 那么有你CMakeLists.txt 描述你的项目这些库(如何构建它们),没有这个 clion 不知道从哪里获取库的来源
  • 我有已经构建好的库,也有它们的源代码。在 Netbeans 中,如果我有一个调试构建的应用程序,通过配置“代码协助”以将二进制文件作为源,我也可以轻松导航到库中的所有调用。
  • 你找到方法了吗?或者任何解决方法?寻找相同的。我记得在 Eclipse 中我曾经构建库,然后将该库项目导出到 Eclipse,然后我可以将该外部项目链接到我的应用程序。

标签: c++ clion


【解决方案1】:

我遇到了同样的问题,这就是我所做的。在 Clion 中,我通过在 Help | 中输入 #com.jetbrains.cidr.execution.debugger 来启用调试日志记录。调试日志设置,重现问题,然后查看创建的idea.log(帮助|显示日志)。在日志中,它显示了它无法找到的源的完整路径。我盒子上的源不在同一个地方,所以通过在适当的目录中创建一个符号链接,我可以让 Clion 通过它正在寻找的完整路径找到它。

【讨论】:

    【解决方案2】:

    对于 CMake 项目,只需通过以下方式在 CMakeLists.txt 中添加 lib 源代码的路径:

    include_directories(${SOME_LIB_SRC_DIRS})
    

    或直接路径

    include_directories("/home/username/lib_src/")
    

    然后在函数名称上 ctrl+click CLion 将首先显示函数定义,然后如果您再次 ctrl+单击 - 将在头文件中显示声明(您也可以为此使用热键和鼠标右键菜单) .

    【讨论】:

    • 这个我试过了,它会在编译时包含源代码。
    猜你喜欢
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多