AutoConf 스크립트에서 비표준 라이브러리 위치를 다루는 일반적인 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/944235

문제

GNU Autoconf/Automake Toolchain을 처음으로 사용하려고하므로 내 질문에 대한 답은 사소한 것일 수 있습니다.

이 프로그램은 비 표준 위치에 헤더 및 라이브러리가 설치되는 OpenGL/GLUT가 필요합니다. 나는 찾았다 이것들 나를 위해 모든 점검을 해야하는 매크로. 나는 단순히 그것을 가지고 전화합니다 ax_check_glut. 매크로가 라이브러리를 찾으려면 어떻게해야합니까? 나는 같은 것을 찾고 있습니다

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

보다 일반적으로 : AutoConf 스크립트에서 비표준 라이브러리 위치를 다루는 일반적인 방법은 무엇입니까? 물론 CPPFLAGS 및 LIBS 변수로 놀 수 있지만 무언가를 놓친 느낌이 들었습니다.

도움이 되었습니까?

해결책

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

왜냐하면 CPPFLAGS 그리고 LDFLAGS 사용합니다 configure 수표 및 Makefile 규칙, 모든 것이 작동해야합니다.

일부 패키지 저자는 a --with-패키지=location 위의 속기로서의 옵션이지만 일반적으로 이것은 목적이 아닙니다. --with-패키지 옵션. 이 옵션은 더 잘 사용됩니다 선택적 패키지를 사용해야하는지 또는 전제 조건을 충족 해야하는지 지정하려면.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top