如何知道是否在Linux中使用C安装了软件包

如何知道是否在Linux中使用C安装了软件包,c,linux,C,Linux,我正在用C语言为我的项目创建一个闹钟。我正在使用mgp123命令(在包mpg321中)运行闹钟声音。它只适用于UBUNTU用户。我需要该程序来检查mpg321是否已安装。如果程序包mpg321是使用C程序安装的,如何找到使用C的方法?您可以使用system() 如果命令返回的错误大于未安装的mpg321,如果您的目标是Ubuntu,只需将您的应用程序作为.deb包分发,并将mpg321作为依赖项。在Linux上使用自动工具?实际上,我必须仅使用C扩展名提交它。因此,我必须在程序中执行此操作its

我正在用C语言为我的项目创建一个闹钟。我正在使用mgp123命令(在包mpg321中)运行闹钟声音。它只适用于UBUNTU用户。我需要该程序来检查mpg321是否已安装。如果程序包mpg321是使用C程序安装的,如何找到使用C的方法?

您可以使用
system()


如果命令返回的错误大于未安装的
mpg321

如果您的目标是Ubuntu,只需将您的应用程序作为
.deb
包分发,并将
mpg321
作为依赖项。在Linux上使用自动工具?实际上,我必须仅使用C扩展名提交它。因此,我必须在程序中执行此操作itself@gongzhitaao这个自动工具在编译阶段而不是运行阶段进行检查。该程序可以通过软件包安装,但在安装前不能生成。请参阅:如何让c程序知道返回了错误?请检查
system
调用的返回值,例如
int result=system(“mpg321-h”)。如果
result
为0,则一切正常。ohk..它工作..是否有任何方法可以隐藏帮助菜单,使其不出现在终端中?@SudoReboot“mpg321-h1>/dev/null”@SudoReboot:是的,只需执行
系统(“mpg321-h>/dev/null 2>&1”)
system("mpg321 -h");