우분투에서 gcc-multilib는 정확히 무엇을 의미합니까?


11

오래된 우분투 (v.12)와 오랜 시간을 보낸 후 v.16으로 업데이트하고 "gcc-multilib"에 대한 언급과 혼동됩니다.

이것이 실제로 애플의 "지방 바이너리"또는 " 범용 바이너리 "모델이 리눅스로 포팅되어 있습니까?

즉, 우분투의 네이티브 C 라이브러리가 다양한 아키텍처의 여러 바이너리를 포장하는 컨테이너가 되었습니까?

그렇다면 더 이상 x64 시스템에 32 비트 런타임 라이브러리를 특별히 설치할 필요가 없습니까? gcc 또는 g ++ 라이브러리의 "기본"패키지에는 32 비트 앱을 실행하고 빌드하는 데 필요한 모든 것이 포함되어 있습니까?

답변:


13

gcc-multilib크로스 컴파일 , 즉 다른 프로세서 아키텍처에서 실행되도록 프로그램을 컴파일하는 데 유용합니다 . 예를 들어 gcc-multilib64 비트 Ubuntu에서 실행 중이고 32 비트 Ubuntu에서 실행되도록 프로그램을 컴파일하려는 경우 (또는 ARM 등에서 아이디어를 얻을 수 있음) 필요합니다.


1
그렇다면 런타임 라이브러리와 관련이 없습니까? x64에서 32 비트 프로그램을 실행하려면 여전히 후프를 통해 "libc-i386", "g ++-i386"등을 32 비트 라이브러리에 설치해야합니까? 그리고 "dpkg --add-architecture i386"은 multilib와 관련이 있습니까?
— ddbug

예. 평소 농구대. dpkg --add-architecture단순히 dpkg외부 아키텍처 용 패키지를 설치하길 원한다고 말하고 불평과 요청을 중단해야합니다 --force-architecture.
— AlexP

AlexP 감사합니다. 이 multilib 설정이 Ubuntu 16의 새로운 기능입니까, 아니면 이전 버전, 예를 들어 v.14 또는 12입니까?
— ddbug

적어도 12.04.
— AlexP
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.