如何编写可以下载和安装许多包的程序 (c++)
How to write a program that can download and install many packages (c++)?
我的具体情况:
我正在尝试在 c++ 中实现一个迷宫求解器,该求解器接收灰度图片并输出具有求解路径的相同图片。 我在网上查看并发现我应该使用OpenCV,它也需要其他软件包。我希望我的程序的用户能够运行该程序,该程序检查是否已安装这些软件包。 如果未安装所需的软件包,我希望能够在机器(Linux)上安装这些程序。 我的程序的其余部分将使用这些包来解决迷宫。
一般情况:
如何创建一个程序,该程序在执行时会安装程序供以后使用所需的包?这可能吗?这叫什么(如果存在),所以我可以阅读它?最后,对于一个由一年级 c++ 学生组成的团队来说,这会非常困难吗?
感谢您的回复,我试图自己寻找答案,但找不到。
在 Linux 上,这个问题通常由所谓的包管理器解决。
不同的发行版使用不同的包管理器。例如,基于 Debian 的发行版使用 Debian 软件包(.deb
文件)。RedHat及其子项目Fedora使用RPM软件包(.rpm
文件)。然后,根据您的分发,您将为项目创建适当的包,并在包的控制文件中列出其依赖项。
如果您使用的是基于 Debian 的发行版,我强烈推荐 Aptly。它将允许您创建本地存储库,镜像现有存储库,并在Amazon的S3上托管自己的存储库。
我还应该提到Docker。Docker也可以被认为是某种包管理器。它基本上允许你的应用程序随身携带其操作系统配置,这将允许你将应用程序部署到几乎任何运行 docker 的地方。如果您绑定到相机硬件,可能会有一些限制,但绝对值得考虑。此外,使用 Docker Hub,您也可以将其自由部署到所有同学/学生计算机上。
希望对您有所帮助!
- Mongodb c++驱动程序:如何查询元素的数组
- C++,系统无法执行指定的程序
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 重载操作程序时出错>>用于类中的字符串 memebr
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 试图在visual studio上用C++创建一个桌面应用程序
- 模板元程序查找相似的连续类型名称
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 如何通过cpp程序运行shell脚本
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- IPC使用多个管道和分支进程来运行Python程序
- 如何将c++程序的一些输出传递给shell,以便在shell中使用
- 使用C++程序合并排序没有得到正确的输出
- 基于boost的程序的静态链接——zlib问题
- 程序崩溃并显示"std::out_of_range"错误
- 在C应用程序中运行C++(带有STL)函数
- 使用mongocxx驱动程序时包含头文件问题
- 如何在c++程序中找到函数的地址