외부 라이브러리를 사용하여 컴파일하는 소프트웨어를 작성하는 방법은 무엇입니까?

외부 라이브러리를 사용하여 컴파일하는 소프트웨어를 작성하는 방법은 무엇입니까?

종속성이 있는 오픈 소스 소프트웨어를 작성하고 싶습니다. 나는 C/C++ 기술과 최소한의 makefile 지식을 가지고 있습니다. 하지만 이와 같은 코딩 ./configure && make과 다른 라이브러리에 대한 종속성을 올바르게 포함하는 방법이 궁금합니다 .

따라하기 쉬운 튜토리얼과 배우기 어려운 튜토리얼은 어디에서 찾을 수 있나요?

답변1

구성이나 제작은 배우기 어렵지 않다고 생각합니다. 그러나 이는 복잡하고 배우기 까다로울 수 있습니다. 특히 실험을 통해 더욱 그렇습니다. 예를 들어, make에서는 대상을 빌드하는 명령이 엄격하게 탭으로 들여쓰기되어야 하므로 많은 경우 공백과 구별하기 어렵습니다.

다음은 이 두 가지(및 그 이상)를 모두 다루는 페이지입니다.http://autotoolset.sourceforge.net/tutorial.html#Compiling-with-Makefiles.

GNU 구성 표준에 관한 페이지도 있습니다:http://www.gnu.org/prep/standards/html_node/Configuration.html.

이것은 autoconf구성 스크립트를 생성하기 위한 도구입니다. 물론 자신만의 구성 스크립트를 직접 개발할 수도 있지만 autoconf표준 유형의 스크립트를 얻게 되며 많은 프로그래밍 노력을 절약할 수 있습니다.

답변2

그것의 많은 부분이 autoconf. (공식 문서 외에) 제가 추천하는 특정 튜토리얼은 없지만 튜토리얼이 필요할 것이고 이것이 바로 여러분이 찾고 있는 것입니다. "Autoconf"는 구어적으로 "automake"를 포함한 도구 세트를 나타냅니다.

이 작업을 수행한 지 꽤 시간이 지났지만 내 노트를 통해 프로세스의 개요를 정리해 보겠습니다.

  • 각 소스 디렉토리(소스를 최상위 레벨에 두지 말고 하위 디렉토리에 넣으십시오)에 대해 하나를 작성해야 합니다 Makefile.am. 이는 일반 makefile의 규칙을 따르지만 컴파일 대상은 포함하지 않지만 대신 autoconf에만 해당됩니다. 프로세스 명명 체계는 일부 대상과 변수를 정의합니다. 이것 은 처리될 것입 니다 automake.

  • 최상위 수준에서는 configure.ac파일을 생성해야 합니다. 도구 autoscan가 이 작업을 수행한 다음 조정할 수 있습니다.

  • 그런 다음 최상위 디렉터리에서 시작하여 , aclocal, automake -ac, ( 다시 실행 autoheader해야 할 수도 있음 ) 및 을 실행해야 합니다 . 여기에는 목적을 설명하는 매뉴얼 페이지가 있습니다.automake -acautoconf

바라보다! 패키지가 준비되었습니다.

배우기가 어렵나요?

전적으로지루한나는 그것이 매우 쉽다고 말하지 않을 것입니다. 프로젝트가 작고 특정 플랫폼만 대상으로 하는 경우 makefile에서 실행할 수 있는 종속성 검사 스크립트를 직접 작성할 수 있습니다.

관련 정보