하나의 Linux 배포판에서 애플리케이션을 컴파일하고 이를 다른 Linux 배포판(동일한 CPU 아키텍처)에서 사용할 수 있는지 알고 싶습니다. 그렇지 않다면 어떤 문제가 발생하게 됩니까? 내 마음에 떠오르는 유일한 문제는 동적 링크 라이브러리와 관련이 있습니다.
- 일부 라이브러리 또는 라이브러리 버전이 누락되었습니다. 예를 들어 /usr/lib/qt5.so가 누락되었습니다.
- 여기서 컴파일러 플래그가 문제가 될 수 있습니까?
다른 가능한 어려움이 있습니까?
답변1
예, 대부분의 경우 이 작업을 수행할 수 있습니다. 언급한 라이브러리 문제를 제외하고 제가 예상할 수 있는 유일한 문제는 배포판별 파일 위치이며 애플리케이션에 영향을 미치는 문제는 실제로 드물 것입니다.
답변2
정적으로 컴파일하면 동일한 아키텍처를 사용하는 모든 배포판에서 컴파일된 애플리케이션을 쉽게 실행할 수 있습니다.
동적으로 컴파일하면 언급한 것과 같은 문제(라이브러리 누락)가 발생하거나 다른 배포판의 라이브러리 버전과 호환되지 않는 경우가 더 자주 발생합니다.