Giúp tôi giải quyết điểm số.Xây dựng các tệp nhị phân Linux cho nhiều nền tảng
Tôi có một phần mềm được viết bằng C++ có nghĩa là chạy trên nhiều bản phân phối Linux nhất có thể và tôi cần tìm ra một chiến lược hiệu quả. Tôi đang cố gắng để tàu nhị phân trong trường hợp này không phải mã nguồn (có thể là tốt để biết). Nó đã là một sản phẩm thương mại và tôi có vấn đề sở hữu trí tuệ ngăn cản tôi mở nguồn sản phẩm nhưng cũng có nghĩa là tôi phải đối phó với vô số các vấn đề về GPL.
Dòng lý luận hiện tại là chọn một mẫu số chung ít nhất và xây dựng mọi thứ. Điều đó có hai tác động chính mà tôi thấy phản tác dụng.
- Hỗ trợ C++ trong các phiên bản cũ của GCC thiếu một số tính năng C++ hiện đại hơn.
- Mẫu số chung nhỏ nhất đòi hỏi Red Hat Enterprise Linux 4 (RHEL4)
Tôi chắc chắn không cần tính năng toàn bộ C++ 11 thiết nhưng tôi muốn mang lại C++ hỗ trợ lên đến đó của Visual C++ 2010. Tôi đang perusing ý tưởng sử dụng Clang/libC++ như trái ngược với GCC/libstdC++ nếu có thể. Có vẻ như RHEL4 dường như không hỗ trợ nhiều nền tảng cho việc xây dựng các ứng dụng C++, hơn thế nữa, tôi có chút hiểu biết về tính ổn định của ABI trên các phiên bản Linux khác nhau nhưng tôi lo ngại rằng RHEL4 gặp nhiều rắc rối hơn giá trị. Việc cố gắng xây dựng cho tất cả các bản phân phối dựa trên một số ít không phải là một chiến lược khả thi. Tôi đang theo giả định rằng phần mềm biên dịch cho các bản phân phối Linux khác nhau được thực hiện tốt nhất bằng cách biên dịch phần mềm cho nền tảng đích với các công cụ trên nền tảng đích. Tôi cũng hiện đang hoạt động theo giả định rằng bạn sẽ chạy vào các vấn đề di động rộng lớn qua các nền tảng Linux nếu bạn không nắm lấy điều này. Không phải để nói về nhiều thư viện mà bạn có thể hoặc không thể liên kết với vì sự bất ổn của C++ ABI trên các nền tảng/bản phân phối.
Nhưng tôi có thể sai, tôi muốn nghe từ những người thường xuyên xử lý vấn đề này. Điều gì sẽ làm việc và tại sao? hoặc quan trọng hơn, những gì sẽ không hoạt động?
Nếu tôi trả tiền cho phần mềm điều gì xảy ra nếu tôi báo cáo lớn trên Linux bạn không có - chắc chắn hỗ trợ sản phẩm bạn phải thử nghiệm sản phẩm trên phiên bản Linux được hỗ trợ - do đó bạn phải có VM cho mỗi người và xây dựng ở đó – Mark
@ Đánh dấu chính xác suy nghĩ của tôi, đó là công việc đang diễn ra. –
http://stackoverflow.com/questions/2157636 | http://stackoverflow.com/questions/16250831 | http://stackoverflow.com/questions/15386027 –