2015-12-22 106 views
0

拥有CLion 1.2.2。CLion的解决方案/库管理

变得简单项目:

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

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

是有一个很好的方法来做到这一点?

更普遍的问题:如何处理几个库(分),可能相当多的最终项目之间共享项目(“解决方案”,在微软发言)

项目管理文档发现在克利翁严重缺乏.. 。

回答

0

在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) 
+0

谢谢你,但我可以导入库,它有自己的CMakeLists.txt,例如? Coud我有子项目/库的层次结构? –

+0

一般来说,这是通过将一个库的所有源文件放在它自己的目录中,并使用它自己的'CMakeLists.txt',然后在主'CMakeLists.txt'中使用'add_directory'来添加cmake处理的子目录。 – legalize

+0

@legalize我认为你的意思是[add_subdirectory](https://cmake.org/cmake/help/v3.0/command/add_subdirectory.html),除非自你发表评论以来cmake命令已经改变。 – ThatAintWorking