如何最好地检查C库依赖项?

时间:2010-11-05 23:35:30

标签: c shell dependencies package

我正在构建一个安装高级堆栈的东西,为此,我需要安装较低级别的东西。

查找是否安装Java的最简单方法是在shell脚本中发出which java并检查它是否可以找到它。我现在已经到了需要做一些库的地步,没有一个明显的二进制 - 基本上是来自C. libxml中的include,例如。

一般来说,我对C很可悲,所以这对我来说有点棘手。 :)理想情况下,我可以创建一个shell脚本,调用一个调用#include <xxxx>的小C应用程序,其中xxxx是我检查存在的库。如果找不到它,就会出错。不幸的是,当然,所有这些都是在编译之前发生的,所以它不像我想的那样动态。

我在一个可能没有安装任何东西的系统上这样做(无论是高级语言或包管理器还是你有什么),所以我正在寻找一个基本的shell脚本方式做事(或者可能是一些聪明的C或命令行gcc选项)。或者也许只是手动搜索gcc将会查找的包含路径/usr/local/include/usr/include等)。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

Autotools真的是你需要的。它是处理这个问题的巨大(和奇怪)框架: http://www.gnu.org/software/autoconf/

您还可以使用pkg-config,它将与使用该机制的新软件配合使用: http://pkg-config.freedesktop.org/wiki/

答案 1 :(得分:1)

这是configure(automake和autoconf的一部分)的目的