Chính xác thì gcc-multilib có nghĩa là gì trên Ubuntu?


11

Sau một thời gian dài sử dụng Ubuntu cũ (c.12), tôi đang cập nhật lên v.16 và rất bối rối với đề cập đến "gcc-multilib".

Đây thực sự là mô hình " nhị phân béo" hay " nhị phân phổ quát " của Apple được chuyển sang Linux?

Đó là, các thư viện C gốc trên Ubuntu có trở thành các thùng chứa nhiều tệp nhị phân cho các kiến ​​trúc khác nhau không?

Nếu vậy, chúng ta không còn phải cài đặt đặc biệt libs thời gian chạy 32 bit trên hệ thống x64? Gói "mặc định" của thư viện gcc hoặc g ++ chứa tất cả cần thiết để chạy và xây dựng ứng dụng 32 bit?

Câu trả lời:


13

gcc-multilibrất hữu ích cho việc biên dịch chéo , nghĩa là biên dịch một chương trình để chạy trên một kiến ​​trúc bộ xử lý khác. Ví dụ: bạn sẽ cần gcc-multilibnếu bạn đang chạy trên Ubuntu 64 bit và muốn biên dịch một chương trình để chạy trên Ubuntu 32 bit (hoặc trên ARM, v.v. bạn có ý tưởng).


1
Vì vậy, nó không liên quan đến thư viện thời gian chạy? Chúng ta vẫn cần phải đi qua các vòng và cài đặt "libc-i386", "g ++ - i386" và cứ thế các lib 32 bit để chạy các chương trình 32 bit trên x64? Và "dpkg --add-architecture i386" có liên quan đến multilib không?
ddbug

Đúng. Các hoops thông thường. dpkg --add-architecturechỉ cần nói dpkgrằng bạn thực sự muốn cài đặt các gói cho kiến ​​trúc nước ngoài và nó sẽ ngừng phàn nàn và yêu cầu --force-architecture.
AlexP

Cảm ơn bạn AlexP. Đây có phải là thiết lập multilib mới cho Ubuntu 16, hay nó đã tồn tại trước đó, nói trong câu 14 hoặc thậm chí 12?
ddbug

Ít nhất 12,04.
AlexP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.