我正在处理包含4个子模块的大型C ++项目(使用cLion)。 我写了一个小型C ++库,它提供了从.properties文件读取的功能(在Java中最常见)。
“ Application.properties”文件应包含公用变量和每个项目变量。 例如;我正在使用Elasticsearch数据库,所有4个子模块都应该知道他的地址。 另外,由于我有4个国外项目,因此我需要不断维护5个不同的CMakeLists文件(主项目有4个子模块1)。
我的解决方案是在主项目根目录中设置共享代码,并通过在每个项目中包含库来使用共享代码。
感谢, 科比。
答案 0 :(得分:0)
我的解决方案是创建一个“通用模块” 对于子模块中的每个模块,我在cmakelists.txt文件中添加了以下行。 ADD_LIBRARY(MyLib ../Common/a.cpp ../Common/b.cpp) target_link_libraries(MyTargetName LINK_PUBLIC MyLib)
因为(子模块的)主存储库本身就是git存储库。 我可以轻松管理分片库。 谢谢。