求助!内网开发的C++包管理器方案 Conan vs vcpkg

tongzhipeng5699 2023-12-22 15:44:52

各位大佬好!

小弟想请教一下在内网的开发环境如何管理C++的包, 欢迎大家知道指导交流意见。

我们要解决的C++包管理问题主要有几个:

1.  跨平台 (主要是linux+windows)

2.  预编译库 (减少CI时间)

3.  源码信息修改(内网无法访问github, 也没有代理, 需要将代码也在内网克隆一份并给出支持源码构建

我现在考虑用Conan2 或者 vcpkg, 理论上两者都能实现目的, 但是到底走哪条线路在内网部署维护更好, 能够解决我的问题, 我需要一些意见参考, 欢迎大家赐教!

...全文
成就一亿技术人!
拼手气红包 20.00元
2158 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
2301_78498622 2023-12-22
  • 打赏
  • 举报
回复

首先,你提出的这三个需求——跨平台兼容、预编译库的使用、以及源码信息的本地化处理,确实是内网开发环境下常见的挑战。Conan和vcpkg作为两个流行的包管理工具,确实都有可能成为解决你问题的好帮手。

跨平台兼容:Conan和vcpkg都支持跨平台,但Conan在这方面的表现可能会更加出色。Conan提供了更丰富的设置选项来处理不同平台和编译器的特定需求。

预编译库的使用:这方面Conan和vcpkg都能很好地支持。不过,Conan的二进制管理方式可能在CI流程中更加高效,因为它允许你更灵活地管理和分发不同配置下的二进制文件。

源码信息的本地化:由于你的内网环境无法直接访问外部资源,像GitHub这样的公共仓库就不可用。这种情况下,Conan和vcpkg都允许你搭建本地的包仓库。Conan的Artifactory或者vcpkg的私有Git仓库都可以满足你的需求。

综合考虑,Conan可能是更适合你的选择。它在跨平台支持和预编译库管理方面都表现出色,而且它的灵活性和可配置性在处理复杂的内网环境时可能会更有优势。同时,你可以设置本地的Conan仓库来管理源码和二进制文件,以适应内网的限制。

当然,选择哪个工具也需要考虑你和你的团队的熟悉程度以及现有环境的适应性。建议你可以先在小范围内尝试一下,看看哪个工具更适合你们的工作流程。

tongzhipeng5699 2023-12-22
  • 举报
回复 1
@2301_78498622 好的, 感谢, 回答口味有浓浓的AI风, 是大哥用GPT帮忙问的答案吗?

65,201

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧