"프론트 엔드"라이브러리와 다중 "백엔드"라이브러리를 빌드하는 라이브러리 프로젝트를 유지 관리하고 있습니다. 이 프로젝트는 Libtool을 포함하여 Autotools 제품군 (학습 중이며 프로젝트 구현에 유지 관리가 필요함)을 사용합니다. 공유 라이브러리로서 모든 것이 잘 작동합니다. 우리는 라이브러리를 사용하는 응용 프로그램 개발자가 있으며 여러 플랫폼에서 소프트웨어를 쉽게 배포 할 수 있도록 정적 라이브러리를 사용하여 빌드하는 것을 선호합니다 (나는 그의 동기에 대해 논쟁하고 싶지 않습니다).Autotools와 여러 빌드 디렉토리로 하나의 정적 (편의?) 라이브러리 만들기
그는 이전의 시점에서 빌드 시스템을 사용하여 하나의 큰 정적 라이브러리를 만들 수 있었지만 더 이상 할 수 없다고 말했습니다. 이 문제가 발생했을 때 정확히 추적 할 수 없었지만 두 가지 변경 사항 중 하나와 관련이 있다고 의심됩니다. 첫 번째 변경은 번들 된 libtool 소스 디렉토리를 제거한 것입니다. 두 번째 방법은 이전과 마찬가지로/usr/local/lib (기본 위치)에 분산시키기보다는 백엔드 라이브러리를/usr/local/lib/project에 배치하는 것입니다.
필자가 배울 수 없었던 것은 프론트 엔드 라이브러리와 백엔드를/usr/local/lib에있는 하나의 편리한 라이브러리에 결합하고 Autotools 프레임 워크 내에서 그렇게하는 방법입니다. 이것은 가능할 것으로 보이지만 나는 배울 예제를 찾지 못했습니다.
이외에도 프로젝트는 테스트 스위트의 일부로 몇 가지 유틸리티를 빌드합니다. --disable-shared 옵션으로 configure를 실행 한 다음 make를 실행하면 유틸리티가 프로젝트 라이브러리에 정적으로 링크됩니다. 이제 제 기능은 제 3 자 응용 프로그램에서 사용할 수 있도록하는 것입니다.
버전 관리에서'git bisect'와 동일한 명령을 실행하여 커밋이 어떤 커밋인지 확실하게 확인 했습니까? – ptomato
아니요. 나는 그가 사용했던 명령과 그가 당시 자신의 대본을 사용하고 있는지 확실하지 않습니다. 또한, 정적 라이브러리를 신경 쓰지 않았던 방식으로 라이브러리를 직접 만들지 않았습니다. 나는 이것을 약 1 년 전에 처음 알았고, 온 - 오프로 대답이나 최소한의 단서를 찾고있었습니다. –