Chỉnh sửa/Cập nhật/Ghi chú: Chỉ cần để clang sử dụng libstdC++. Đã làm việc thực sự tốt cho tôi cho đến nay.Cách bị xử phạt để xây dựng libC++ cho clang trên Linux là gì?
===============================
Trước đây tôi đã có thể thành công bằng cách thực hiện một cái gì đó với cmake
, nhưng bây giờ tôi đã phát hiện ra một tập lệnh buildit
bên trong thư mục lib
của cây dự án http://llvm.org/svn/llvm-project/libcxx/trunk
.
Kịch bản buildit
này dường như không sử dụng libsupc++
đó là cách tiếp cận cmake
mà tôi đã sử dụng trước đó. Ví dụ: this guide hiển thị một cmake
câu thần chú để tạo một makefile cho libc++
, có thể quản lý việc biên dịch và cài đặt.
Câu hỏi của tôi là sự khác nhau giữa các cách khác nhau để sản xuất LLVM-libc++
và loại nào nên được sử dụng? Họ sẽ hành xử khác nhau?
Tập lệnh buildit
dường như không hỗ trợ cài đặt. Có hướng dẫn nào để cài đặt thư viện đúng cách không? Với libC++ trước đây của tôi được xây dựng với cmake, tôi phải luôn thêm -lc++
vào các cờ liên kết (và đường dẫn có -L
), điều này không cần thiết trong các tệp makefiles OS X của tôi.
Tôi đọc thêm một chút về 'libsupC++', và dường như nó là tập con của 'libC++' của GCC. Kịch bản 'buildit' xuất hiện để liên kết' libC++ ', vì vậy tôi đoán không có gì đáng ngạc nhiên ở đây, và có lẽ tôi chỉ cần tinh chỉnh một số cờ' cmake' để có được cài đặt hợp lý hơn. Tuy nhiên, tôi sẽ đánh giá cao một số giải thích chung của một người biết nhiều hơn tôi làm về LLVM. –
nghĩa là 'libsupC++' cung cấp một số chức năng liên quan đến ABI (và khác) cho 'libstdC++' của GCC. – rubenvb