Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 本地存储库管理器_C++_Biicode - Fatal编程技术网

C++ 本地存储库管理器

C++ 本地存储库管理器,c++,biicode,C++,Biicode,我来自Java世界。我在寻找C++世界中的Apache Maven替代品。我想我找到了正确的项目。我几乎没有问题,也没有找到答案 是否可以管理本地存储库。比方说,我在5个相似但不同的项目上工作,这个项目共享几乎相同的依赖关系。每个项目是否会在每个项目中存储自己的依赖项,或者是否有一个“系统”范围(每个用户)的本地存储库来存储依赖项 是否可以只“发布”到本地文件夹,以便其他项目可以“查看”依赖块,还是必须通过bii internet存储库 还是我错了——关于bii的工作原理 这个项目看起来不错。继

我来自Java世界。我在寻找C++世界中的Apache Maven替代品。我想我找到了正确的项目。我几乎没有问题,也没有找到答案

是否可以管理本地存储库。比方说,我在5个相似但不同的项目上工作,这个项目共享几乎相同的依赖关系。每个项目是否会在每个项目中存储自己的依赖项,或者是否有一个“系统”范围(每个用户)的本地存储库来存储依赖项

是否可以只“发布”到本地文件夹,以便其他项目可以“查看”依赖块,还是必须通过bii internet存储库

还是我错了——关于bii的工作原理


这个项目看起来不错。继续做好工作。

现在,项目就像虚拟现实一样,每个项目都包含并构建其依赖项。这是为快速发展的库设计的。假设您有5个类似的项目,它们都依赖于相同的库A版本0。在处理其中一个项目时,您可以修改并发布一个新版本,即破坏API的修改。其他4个项目将根据版本0继续,并且不会中断。当您转到这些项目时,您可以轻松地更新它们的依赖关系并修复中断

如果您在linux中工作,而不是在windows中工作,则可以直接使用sym链接在不同的项目之间共享同一个库

对于可以在系统范围内安装的非常稳定的大型项目,依赖已安装的版本可能更方便。CMake通过FindXXX()非常容易地实现这一点。您可以使用CMake安装来安装系统范围内的二进制文件,或者甚至可以使用CMake脚本或biicodepython钩子来自动下载和安装系统范围内的这些库。检查,例如:,OpenCV使用biicode python钩子进行管理,并在系统范围内安装

目前还没有“本地”发布,如果你想在项目之间以这种方式共享,是的,你必须通过biicode云服务器,只需使用“bii发布”


然而,我们正在向开源过渡。我们可能会先发布客户端代码,然后发布一个可以在内部部署的服务器。尚未实现,但未来的一个功能是该服务器可以充当云服务器的代理,您可以发布到本地实例,但可以从云服务器读取。通过本地安装此服务器,您将能够在本地发布。

我想我必须深入研究CMake。有趣的是,CMake是以“本地ish”的方式安装的,所以我现在在我的env上有两个版本的CMake(我使用的是Ubuntu 14.04 LTS x64)。我以为所有的图书馆都是以同样的方式“存储”的。正如我所说,我每天都在使用ApacheMaven。我有“安装”要发布到本地存储库,有“发布”要发布到远程存储库。因此,为您未来的计划准备一个大+1,听起来不错。是的,CMake>3.0是在本地安装的,因为发行版支持的主流版本是CMake 2.8,但CMake已经是3.2了。用户要求我们的安装不干扰system 2.8,因此我们在本地安装并创建了指向它的/.biicode/cmake_路径文件。类似地,OpenCV和Boost等其他大型LIB也安装在该位置,该位置适用于所有项目的用户范围。但大多数库实际上都是每个项目中的源代码,类似于virtualenv,它非常方便直观地管理不同的版本、调试等。