gpt4 book ai didi

autoconf - 如何获取配置脚本来查找库

转载 作者:行者123 更新时间:2023-12-03 03:47:33 24 4
gpt4 key购买 nike

我正在尝试编写一个configure.ac文件,以便生成的配置脚本搜索包含给定静态库的库目录,例如libsomething.a.我怎样才能做到这一点?目前我让它只检查一个位置:

AC_CHECK_FILE([/usr/local/lib/libsomething.a],[AC_SUBST(libsomething,"-L/usr/local/lib -lsomething")],[AC_SUBST(libcfitsio,'')])

但我希望它能够尝试自动找到它。如果该库不在默认位置之一,我希望配置为表示未找到该库,并且可以像通常那样使用 --use-something=path 指定自定义位置。所以我还需要检查是否提供了 --use-something=path 。我在创建配置文件方面还很陌生,而且 M4 文档不太容易理解,所以希望得到任何帮助。

谢谢!

最佳答案

搜索库的安装位置不是configure 的工作。它应该只确保它们可供链接器使用。如果用户将它们安装在不同的位置,他知道如何调用 ./configure CPPFLAGS=-I/the/location/include LDFLAGS=-L/the/location/lib 以便工具将找到该库(这在 configure--help 输出和标准 INSTALL 文件中进行了解释)。

此外,--with-package--enable-package 宏不应该用于指定路径,这与许多第三方宏的做法相反。 GNU Coding Standards明确禁止这种用法:

Do not use a --with option to specify the file name to use to find certain files. That is outside the scope of what --with options are for.

CPPFLAGSLDFLAGS 已经可以解决这个问题了,那为什么还要重新开发和维护另一个机制呢?

关于autoconf - 如何获取配置脚本来查找库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1501259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com