2009-02-11 45 views
6

Tôi đang cố gắng biên dịch phiên bản phần mềm của mình cho nền tảng 64 bit. Tôi có thể có phiên bản 32bit và 64bit của libstdC++ được cài đặt trên cùng một máy không quá lo lắng về việc phá vỡ cài đặt Linux của tôi không. Os là 32bit ubuntu.libstdC++ Phiên bản 64bit và 32bit trên cùng một máy

Tôi chưa biên soạn trước và chỉ muốn kiểm tra xem liệu tôi có đặt CFLAGS và LDFLAGS cho CPU thích hợp không, tôi nên cài đặt phiên bản libstdC++ đúng.

Tôi đã kiểm tra một phiên bản 64bit của ubuntu tuy nhiên điều này có một liên kết tượng trưng

lib64 -> lib

sẽ đống lộn xộn này lên rất nhiều nếu đây là trường hợp trên một máy 32bit quá ai biết làm thế nào để sắp xếp này ?

Tôi nhấn lỗi sau tại thời điểm

[exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.2.4/libstdc++.so 
[exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.2.4/libstdc++.a 
when searching for -lstdc++ [exec] /usr/bin/ld: skipping incompatible 

và vân vân cho đến

[exec] /usr/bin/ld: cannot find -lstdc++ 
[exec] collect2: ld returned 1 exit status 

Mà dường như là do thực tế tôi không có phiên bản 64bit của libstdC++

+0

vì một lý do nó có vẻ như một số người, nếu không phải tất cả, tôi distro Unbuntu thiếu Lib64. Không sử dụng nó bản thân mình, nhưng câu hỏi tương tự đã được hỏi ở đây về libs 64bit. Dù sao toucan có cả hai cài đặt, không có vấn đề về lý thuyết. –

Trả lời

4

Chắc chắn bạn có thể.

Chỉ cần đặt chúng vào lần lượt /usr/lib/usr/lib64.

Không thể kiểm tra nó trên Ubuntu, nhưng trên Fedora họ đạt được điều đó ngay từ gói:

[~#] repoquery -q -l libstdc++.i386 
/usr/lib/libstdc++.so.6 
/usr/lib/libstdc++.so.6.0.10 

[~#] repoquery -q -l libstdc++.x86_64 
/usr/lib64/libstdc++.so.6 
/usr/lib64/libstdc++.so.6.0.10 
+1

Tôi sẽ được apt nhận được chúng làm bạn biết nếu điều này xảy ra theo mặc định trên ubuntu? –

Các vấn đề liên quan