我用autoconf生成了一个配置脚本来构建我的项目. 它工作正常,除非我没有安装一些必需的库.缺少某些文件时返回错误,但我认为应该通过configure脚本实际检查它? 所以我的问题是:如何
它工作正常,除非我没有安装一些必需的库.缺少某些文件时返回错误,但我认为应该通过configure脚本实际检查它?
所以我的问题是:如何修改autoconf生成的脚本以寻找依赖关系并告诉用户它缺少哪些库?
取决于依赖性,没有通用的解决方案.如果库和标头安装在标准位置,则可以使用AC_CHECK_LIB
and AC_SEARCH_LIBS
macros.
现在许多软件包都支持pkg-config
或类似软件,它允许您检查库是否存在,还可以为您提供所需的编译器和链接器标志.
对于不支持AC宏且不支持pkg-config或类似软件包的软件包,您可能需要自己编写大量脚本来确定依赖项是否可用以及它需要哪些编译器和链接器选项.即使这样,也很难让它变得便携.