저는 현재 여러 Linux 배포판에 다양한 C++ 응용 프로그램을 빌드 할 수있는 지속적인 통합 서버에 대한 적절한 설정을 연구 중입니다.C++ 용 연속 통합 서버 - 라이브러리 종속성은 어떻습니까?
내 기본 질문은 여기에 다른 사용자가 리눅스 배포판 간의 시스템 라이브러리의 차이점을 어떻게 처리 했는가하는 점입니다.
응용 프로그램과 함께 UI 라이브러리와 같은 직접 종속성을 구축하는 것이 상대적으로 쉽지만 매번 응용 프로그램과 함께 빌드해야하는 경우 glibc와 같은 간접적 인 종속성이 큰 고통처럼 보입니다. 따라서 실제 빌드 실행을 각 배포에 대해 별도의 가상 컴퓨터로 옮기는 것이 좋습니다. rlogin을 사용하여 명령을 실행합니다. 필자의 목표는 빌드 - 머신 라이브러리 버전과 대상 배포판에 배포 된 버전 간의 바이너리 비 호환성을 방지하는 것입니다.
누구나 그러한 프로세스에 대한 경험이 있으며 위의 내용이 실현 가능한 접근 방식이라고 생각할 수 있습니까?
나는이 질문에 대한 좋은 대답을보고 싶다. 원래의 질문 외에도, 나는 리눅스에서 mingw을 위해 컴파일 할 수있는 방법을 알고 싶다. (필자는 Windows에서 mingw를 사용한다.) 또한, Qt 프레임 워크와 QTestLib을 사용하여 단위 테스트를 수행합니다. 감사! –
나는 또한이 질문에 대한 좋은 대답을보고 싶다.IMHO, 이것은 각 모듈이 다른 모듈에 "결합"할 때 "구성 관리"문제로 간다. 그리고 lib를 연결함으로써 암시 적으로 업 스트림 라이브러리를 링크해야 함을 의미한다. lib-versioning-limitation이 필요하기 때문에이 문제는 빠르게 복잡해집니다 (예 : DLL-hell 또는 RPM-hell). 경계 간 호환 버전의 컨텍스트에서 간접적 종속 전파가 필수적입니다. – charley