c++ - 通过C++判断某个程序是否安装在Linux中

标签 c++ linux repository system package-managers

我想从我的 C++ 代码对 Linux 程序进行 系统 调用,但我想先检查该程序是否安装在用户的机器上。

在 Ubuntu 中,我可以使用 dpkg -s gifsicle 等系统调用确定是否安装了与该程序关联的包,并解析其输出。 gifsicle这是程序名称。

但是,程序(例如 gifsicle)可能是从源代码编译的,因此没有出现在 Ubuntu 包存储库中。

确定程序(例如 gifsicle)在执行 C++ 代码的系统上是否可用的良好编程方式是什么?

最佳答案

您可以调用 which首先。

退出状态表明它是否可以在路径上找到指定的可执行文件。

关于c++ - 通过C++判断某个程序是否安装在Linux中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7045879/

相关文章:

c++ - dynamic_cast (int* to int *) - 编译错误

c++ - 所有的 GUI 框架都使用 Windows API 吗?

repository - Composer 需要特定的存储库

git - 在一个 git 存储库中维护多个相关项目的最佳方法?

C++ 语句无法解析重载函数的地址

c++ - Qt - 显示多个可选择的行

java - File.getUsableSpace() 返回的值与 Linux 中的 "df"命令不同

c - 使用 curses 中的 initscr() 时在错误的位置打印

linux - 在不更改权限的情况下将目录下的所有文件设为只读?

opencv - 在Ubuntu服务器11.10上安装OpenCV预构建库