linux C++包管理器是否为依赖库创建单独的副本?

zpf6vheq  于 2023-08-03  发布在  Linux
关注(0)|答案(1)|浏览(109)

我开始熟悉linux(ubuntu)中用于C++包管理器的vcpkg。也许我不明白的东西,但它似乎是vcpkg的依赖副本。例如,如果我想在10个项目中使用SDL2,vcpkg将为每个项目制作10个SDL2副本。谁能告诉我这是怎么回事?
我宁愿在系统范围内安装SDL2,并将一个文件用于10个项目。
我错过了什么?我对编程很陌生,如果这是一个愚蠢的问题,请原谅我。

4dbbbstv

4dbbbstv1#

谁能告诉我这是怎么回事?
vcpkg被设计为在清单模式下将项目工件与其他工件隔离。因此,它将执行每个项目的安装。如果你想以“共享”的方式使用vcpkg,你必须依赖经典模式,并将你的项目指向经典模式安装。
但是,请注意,这不是清单模式和经典模式之间的唯一区别。在经典模式下,安装的树在安装时或多或少是固定的,而在清单模式下,端口abi的当前状态将在配置时重新评估,如果发生了更改,树将重新安装和更新,这可以防止安装的树出现混合版本的vcpkg(除非您在清单模式下通过版本控制功能明确要求它)

相关问题