如何编写可以下载和安装许多包的程序 (c++)

How to write a program that can download and install many packages (c++)?

本文关键字:程序 c++ 许多包 安装 何编写 下载和      更新时间:2023-10-16

我的具体情况

我正在尝试在 c++ 中实现一个迷宫求解器,该求解器接收灰度图片并输出具有求解路径的相同图片。 我在网上查看并发现我应该使用OpenCV,它也需要其他软件包。我希望我的程序的用户能够运行该程序,该程序检查是否已安装这些软件包。 如果未安装所需的软件包,我希望能够在机器(Linux)上安装这些程序。 我的程序的其余部分将使用这些包来解决迷宫。

一般情况

如何创建一个程序,该程序在执行时会安装程序供以后使用所需的包?这可能吗?这叫什么(如果存在),所以我可以阅读它?最后,对于一个由一年级 c++ 学生组成的团队来说,这会非常困难吗?

感谢您的回复,我试图自己寻找答案,但找不到。

在 Linux 上,这个问题通常由所谓的包管理器解决。

不同的

发行版使用不同的包管理器。例如,基于 Debian 的发行版使用 Debian 软件包(.deb文件)。RedHat及其子项目Fedora使用RPM软件包(.rpm文件)。然后,根据您的分发,您将为项目创建适当的包,并在包的控制文件中列出其依赖项。

如果您使用的是基于 Debian 的发行版,我强烈推荐 Aptly。它将允许您创建本地存储库,镜像现有存储库,并在Amazon的S3上托管自己的存储库。

我还应该提到Docker。Docker也可以被认为是某种包管理器。它基本上允许你的应用程序随身携带其操作系统配置,这将允许你将应用程序部署到几乎任何运行 docker 的地方。如果您绑定到相机硬件,可能会有一些限制,但绝对值得考虑。此外,使用 Docker Hub,您也可以将其自由部署到所有同学/学生计算机上。

希望对您有所帮助!