【问题标题】:Solution/library management in CLionCLion 中的解决方案/库管理
【发布时间】:2015-12-22 02:50:38
【问题描述】:

拥有 CLion 1.2.2。

制作简单的项目:

main.cpp
a.hpp
a.cpp
b.hpp
b.cpp

我现在想要的是将a.hpp/a.cpp 移动到单独的库(子)项目中,同样 对于 b.hpp/b.cpp 并在主项目 CMakeList.txt 中引用它们

有什么好的方法吗?

更一般的问题:如何处理可以在很多最终项目之间共享的多个库(子)项目(微软所说的“解决方案”)

发现 CLion 中的项目管理文档严重缺乏...

【问题讨论】:

    标签: clion


    【解决方案1】:

    在 CLion 中,目前通过编辑 CMakeLists.txt 文件来完成项目管理。 CLion 向您展示的所有内容都来自对该文件的解析。

    将您的 CMakeLists.txt 更改为:

    add_target(foo main.cpp a.cpp a.hpp b.cpp b.hpp)
    

    类似于:

    add_library(foolib a.cpp a.hpp b.cpp b.hpp)
    add_target(foo main.cpp)
    target_link_libraries(foo foolib)
    

    【讨论】:

    • 谢谢,但是我可以用它自己的 CmakeLists.txt 导入库吗?我有子项目/库的层次结构吗?
    • 通常这是通过将库的所有源文件放在它自己的目录中并使用它自己的CMakeLists.txt 然后在主CMakeLists.txt 中使用add_directory 来添加该子目录以进行cmake处理.
    • @legalize 我认为您的意思是add_subdirectory,除非您发表评论后 cmake 命令已更改。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 2014-02-04
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    相关资源
    最近更新 更多