我试图使用GNU的autoconf / automake的工具链的第一次,所以回答我的问题可能是微不足道的。

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

  

./配置--with-GLUT-DIR = /家庭/汉诺/过剩

更一般:什么是处理在Autoconf脚本非标准库位置的正常方式?当然,我可以玩的CPPFLAGS和LIBS变量,但我有我失去了一些东西的感觉。

有帮助吗?

解决方案

自动工具的设计方式,一个包的作者并没有做任何事情来支持安装在非标准位置的先决条件。 ./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-目的。这些选项是更好地利用指定一个可选包是否应使用或如何的先决条件应得到满足

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top