V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liuguangxuan
V2EX  ›  C++

不懂就要问,请教 CLion 中项目引用问题。

  •  
  •   liuguangxuan · 2021-05-29 09:54:34 +08:00 · 1587 次点击
    这是一个创建于 1275 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假设我有三个项目,mylib 、projectA 、projectB,项目结构如下:

     ── workspace
        ├── CMakeLists.txt
        ├── mylib
        │   ├── CMakeLists.txt
        │   ├── mylib.cpp
        │   └── mylib.h
        ├── projectA
        │   ├── CMakeLists.txt
        │   └── main.cpp
        └── projectB
            ├── CMakeLists.txt
            └── main.cpp
    
    

    其中 mylib 生成静态库,projectA 和 projectB 都引用这个静态库。请教问题如下:

    1. 我想在看代码的时候,从 projectA 或者 projectB 点击引用的 mylib 中函数的时候能跳转到 mylib 项目中的函数实现。
    2. 调试的时候,遇到调用 mylib 库中的函数,能跟进去调试。

    请问该如何设置?或者如何配置 CMakeLists.txt ,请各位老哥指点。

    第 1 条附言  ·  2021-05-29 23:23:05 +08:00

    结帖,add_subdirectory有第二个参数,使用第二个参数就可以了。 分别修改projectA、projectB的CMakeLists.txt如下:

    add_subdirectory(../mylib mylib)
    

    就可以了。

    5 条回复    2021-07-02 11:31:07 +08:00
    wutiantong
        1
    wutiantong  
       2021-05-31 10:10:20 +08:00
    我感觉你需要补一些基础的 CMake
    liuguangxuan
        2
    liuguangxuan  
    OP
       2021-05-31 10:23:31 +08:00 via Android
    @wutiantong 确实需要补一下这方面的知识,并没有系统的学习过 cmake 。
    zhangchongjie
        3
    zhangchongjie  
       2021-07-01 13:48:32 +08:00
    @wutiantong 老哥,cmake 的学习应该是基础语法之前还是之后呀
    wutiantong
        4
    wutiantong  
       2021-07-01 14:20:42 +08:00
    @zhangchongjie 跟语法其实没多大关系,作为前置知识,你应该了解 C/C++的编译&链接过程,静态 /动态链接的区别,以及头文件的作用与意义。
    zhangchongjie
        5
    zhangchongjie  
       2021-07-02 11:31:07 +08:00
    @wutiantong 嗯嗯,了解,我个人想法是,想着重的先把一部分学会,然后再学,因为本来 c/c++的学习曲线就比较陡,想让自己不那么快就劝退。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2734 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 11:12 · PVG 19:12 · LAX 03:12 · JFK 06:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.