나는 다중 플랫폼 C
프로그램을 연구 중이다. makefile은 각 기계의 모든 다른 컴파일러, 라이브러리 위치 등으로 인해 매우 복잡해졌습니다. Autoconf/Automake
은 좋은 솔루션이 될 것이라고 생각했지만, 이전 도구를 사용한 경험은 미미했습니다.automake와 링크하기 위해 정말로 라이브러리 위치를 지정해야합니까?
내 Makefile.am
의 줄은 LIBS=-lX11
이지만 연결은 오류 "/usr/bin/ld: cannot find -lX11"
과 함께 실패합니다. 나는 LIBS
의 정의에 "-L/usr/X11R6/lib/"
을 추가하여이 문제를 해결할 수 있지만 실제로 그렇게해야합니까? 내가 ./configure
를 실행하면 말한다 : Automake가이 곳을 찾을 수 알아야처럼
checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include
그래서 보인다. X11 libs
은 각 컴퓨터의 다른 위치에 있기 때문에 하드 코드하지 않고 Makefile.am
에 위치를 참조 할 수있는 방법이 있습니까?
힌트를 보내 주셔서 감사합니다. 나는 AC_CHECK_LIB (X11, XOpenDisplay)를 거기에 넣었지만, 컴파일되지 않을 때, 나는 changings LIBS에 의해 그것을 고치려고했다. ./configure가 X11 라이브러리에서 XOpenDisplay 함수를 찾을 수 없다는 것을 간과 한 것으로 나타났습니다. 아마도 여기에서 진짜 문제 일 것입니다. – Tom