2

我第一次尝试使用 GNU autoconf/automake 工具链,所以我的问题的答案可能很简单。

该程序需要 OpenGL/GLUT,其中头文件和库安装在非标准位置。我发现这些宏应该为我做所有的检查。我只是用AX_CHECK_GLUT来调用它。如何让宏找到库?我正在寻找类似的东西

./configure --with-glut-dir=/home/hanno/glut

更一般地说:在 autoconf 脚本中处理非标准库位置的正常方法是什么?当然,我可以使用 CPPFLAGS 和 LIBS 变量,但我觉得我错过了一些东西。

4

1 回答 1

3

Autotools 的设计方式,包作者不需要做任何事情来支持安装在非标准位置的先决条件。的输出./configure --help包括以下几行:

LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
            nonstandard directory <lib dir>
CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
            you have headers in a nonstandard directory <include dir>

因此,如果安装程序在非标准位置安装了先决条件,他将不得不发出

./configure CPPFLAGS=-I/non-standard-dir/include LDFLAGS=-L/non-standard-dir/lib

因为CPPFLAGSLDFLAGSconfigure检查和Makefile规则使用,所以一切都应该工作。

一些包作者喜欢提供--with-=location选项作为上述内容的简写,但这通常不是--with-选项的目的。这些选项更好地用于指定是否应使用可选包,或者应如何满足先决条件

于 2009-06-06T12:37:52.373 回答