1

我正在处理包含 4 个子模块的大型 C++ 项目(使用 cLion)。我编写了小型 C++ 库,它提供了从 .properties 文件中读取的能力(在 Java 中最常见..)。

“Application.properties”文件应该包括公共变量和每个项目的变量。例如; 我正在使用 Elasticsearch 数据库,所有 4 个子模块都应该知道他的地址。此外,由于我有 4 个外国项目,我需要不断维护 5 个不同的 CMakeLists 文件(主项目的 4 个子模块 1)。

我的解决方案是在主项目根目录中设置共享代码,并通过在每个项目中包含库来使用它。

  • 项目和子模块的版本控制是 git。我想了想,决定也许我应该在开始写作之前检查更多评论。

怀着感激之情,科比。

4

1 回答 1

0

我的解决方案是为子模块中的每个模块创建一个“通用模块”,我在 cmakelists.txt 文件中添加了以下行。ADD_LIBRARY(MyLib ../Common/a.cpp ../Common/b.cpp) target_link_libraries(MyTargetName LINK_PUBLIC MyLib)

因为(子模块的)主存储库本身就是一个 git 存储库。我可以轻松管理分片库。谢谢。

于 2018-12-05T09:56:51.770 回答