3-4 개의 다른 오픈 소스 C / C ++ 라이브러리를 사용하는 프로젝트가 있습니다.
여러 플랫폼에 대해 이러한 라이브러리를 빌드하고 내 프로젝트에서 다른 플랫폼에 대한 포함 파일 및 정적 라이브러리를 체크인했습니다.
그러나 몇 가지 문제로 어려움을 겪고 있습니다. 이러한 모든 프로젝트는 종속성 관리에 관한 것입니다. 그리고 모범 사례 조언을 찾고 있습니다.
1) 정확히 무엇을 사용해야하는지 어떻게 알 수 있습니까?
정적 라이브러리 버전을 얻을 수있는 방법이 없습니다. 결과적으로 어떤 버전의 정적 lib를 사용하고 있는지 추적해야합니다 (구축 된 커밋의 SHA 일 수 있음)?
이 라이브러리를 언제 업그레이드해야하는지 알아야 할 때 특히 중요합니다.
2) 빌드를 어떻게 재현합니까?
특정 플랫폼을위한 특정 라이브러리를 구축하는 데 어려움을 겪을 수있었습니다. 그것을 알아내는 데 시간이 걸렸습니다.
다음에 같은 라이브러리를 빌드해야 할 때 반년이 걸릴 수 있습니다 (어떤 이유로 업그레이드해야 할 때. 그러나 그때까지는 라이브러리와 빌드 환경이 무엇인지 기억하지 못할 것입니다. 오랫동안 사라질 것입니다.
3)이 라이브러리를 포크하여 소스 코드의 사본을 가져야합니까?
이것은 덜 걱정입니다. 그러나 여전히 우려 사항입니다. 빌드가 재현 가능하고 소스 코드가 필요한지 확인하는 것이 좋습니다.