Що саме означає gcc-multilib на Ubuntu?


12

Після тривалого звисання зі старшою Ubuntu (v.12) я оновлююсь до v.16 і дуже заплутаний у згадці про "gcc-multilib".

Це насправді модель "жирових бінарних файлів" або " універсальні бінарні файли " Apple, перенесена на Linux?

Тобто, чи вбудовані бібліотеки С на Ubuntu стають контейнерами, які пакують кілька бінарних файлів для різних архітектур?

Якщо так, нам більше не доводиться спеціально встановлювати 32-бітні лінзи виконання в системі x64? Пакет «за замовчуванням» бібліотек gcc або g ++ містить усі необхідні для запуску та створення 32-бітних додатків?

Відповіді:


13

gcc-multilibкорисний для перехресного компіляції , тобто для складання програми для запуску в іншій архітектурі процесора. Наприклад, вам знадобиться, gcc-multilibякщо ви працюєте на 64-розрядному Ubuntu і хочете скласти програму для запуску на 32-розрядному Ubuntu (або на ARM і т.д. ви отримаєте ідею).


1
Отже, це не пов’язано з бібліотеками часу виконання? Чи все-таки нам потрібно пройти через обручі та встановити "libc-i386", "g ++ - i386" і т. Д. 32-бітні лібри для запуску 32-бітних програм на x64? І "dpkg --add-architecture i386" пов'язаний з мультилібом?
ddbug

Так. Звичайні обручі. dpkg --add-architectureпросто говорить про dpkgте, що ви дійсно хочете встановити пакети для іноземної архітектури, і на неї слід припинити скарги та запити --force-architecture.
AlexP

Дякую, AlexP Чи багатофункціональне налаштування нове для Ubuntu 16, чи воно існувало раніше, скажімо, у v.14 чи навіть 12?
ddbug

12.04 щонайменше.
AlexP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.