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

