gpt4 book ai didi

c++ - 处理安装依赖项的最佳方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:04:22 24 4
gpt4 key购买 nike

我有一个分发给我的客户的图书馆。我正在探索将我的第 3 方依赖项保留为动态链接依赖项的想法。在这种情况下,我的客户的部署变得更加复杂,因为他们必须先安装我的依赖项才能使用我的库。我对此有点陌生,所以我有一个广泛的问题:

假设我所有的客户都在 linux 上,那么简单地将依赖项 .so 文件安装到系统库目录中的 RPM 包是否是最佳途径?从我读到的有关 RPM 的内容来看,这并不是它们的真正用途。我想我正在寻找的是一种 linux 的“安装程序”,但也许这样的东西不存在。

构建包含所有相关二进制文件(和许可证,如果适用)并提供安装说明的软件包的最佳方式是什么?

最佳答案

您有多种选择:

  • 静态链接(如果正在使用的许可证允许的话)
  • 支持一系列发行版并为所有发行版提供软件包(可行性取决于您的客户是谁)。对您的客户来说最简单的选择,对您来说最复杂的选择。
  • 提供一个安装程序,将您的应用程序安装在 Windows 风格的独立目录结构中(例如 /opt/myapp/home/someuser/myapp)。将共享库放在那里并通过相应设置 LD_LIBRARY_PATH 的脚本启动。我见过 Loki 游戏、Adobe Reader、Google Earth 等使用此选项。

不要:

  • 提供一个自定义安装程序,它将在标准目录结构中复制您的二进制文件和库。这可能会覆盖您的客户拥有的其他应用程序所需的特定库版本。它还会留下一团糟,因为发行版的包管理不会知道这些文件。
  • 为每个人提供一个rpm。在非 rpm 发行版上,这将需要您的客户手动转换包以适应他们的包管理系统。

关于c++ - 处理安装依赖项的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15512046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com