Có ai có kinh nghiệm với việc chạy các ứng dụng C++ sử dụng các thư viện tăng trên các hệ thống dựa trên uclibc không? Thậm chí có thể không? Bạn sẽ sử dụng thư viện chuẩn C++ nào? Là uclibC++ có thể sử dụng với tăng?Tôi có thể sử dụng tăng cường trên uclibc linux không?
Trả lời
Chúng tôi sử dụng Boost cùng với GCC 2.95.3, libstdC++ và STLport trên một nền tảng ARMv4 chạy uClinux. Một số bộ phận của Boost không tương thích với GCC 2.x nhưng các bộ phận hoạt động tốt trong trường hợp cụ thể của chúng tôi. Các thư viện mà chúng ta sử dụng nhiều nhất là DATE_TIME, bind, chức năng, tuple và chủ đề.
Một số thư viện chúng tôi đã có vấn đề với những lambda, shared_pointer và định dạng. Những vấn đề này rất có thể do phiên bản GCC của chúng tôi gây ra vì nó có vấn đề khi bạn có quá nhiều hoặc bao gồm các cấu trúc mẫu sâu.
Nếu có thể, tôi khuyên bạn nên chạy bộ kiểm tra tăng cường với chuỗi công cụ cụ thể của bạn để đảm bảo khả năng tương thích. Ít nhất bạn có thể biên dịch một chuỗi công cụ gốc để đảm bảo rằng các phiên bản thư viện của bạn tương thích.
Chúng tôi đã không sử dụng uClibC++ vì đó không phải là những gì nhà cung cấp công cụ đề xuất của chúng tôi vì vậy tôi không thể nhận xét về kết hợp cụ thể đó.
Bạn có thể làm rõ bằng cách sử dụng cả STLport và libstdC++ cùng nhau? Cái nào làm tăng liên kết đến? – bmdhacks
Xin lỗi, nó liên kết với STLport. –
Tôi chưa thử nhưng tôi không biết gì về uclibc có thể ngăn Boost hoạt động.
Hãy thử và xem điều gì xảy ra, tôi sẽ nói.
Boost yêu cầu thư viện C++ chuẩn, nếu tôi thử nó, thư viện C++ nào tôi sẽ sử dụng? – bmdhacks
Hơn nữa, "thử nó" là một chút đau cho các hệ thống nhúng. Bạn có nói rằng tôi nên cháy lên trình biên dịch chéo của tôi và chi tiêu giờ và giờ cố gắng để có được tăng và một thư viện c + + làm việc? Nếu tôi gặp phải bất kỳ rào chắn nào, tôi có dành nhiều thời gian hơn cho nó hay tôi có kết luận rằng nó có thể thực hiện được không? – bmdhacks
Dựa trên số lượng thông tin trong câu hỏi ban đầu, "hãy thử nó" là câu trả lời duy nhất bạn nên mong đợi để có được. "Có thể chạy KDE 4 trên máy tính của tôi không, hãy trả lời mà không cần tôi cung cấp bất kỳ thông số kỹ thuật nào về máy tính của tôi". –
Chúng tôi đang sử dụng nhiều thư viện Boost (thread, filesystem, signal, function, bind, any, asio, smart_ptr, tuple) trên Arcom Vulcan, được thừa nhận là khá mạnh mẽ cho thiết bị nhúng (64M RAM, 533MHz XScale) . Mọi thứ đều hoạt động đẹp mắt.
GCC 3.4 nhưng chúng tôi không sử dụng uclib ++ (Arcom cung cấp một chuỗi công cụ bao gồm libstd ++).
Nhiều thiết bị nhúng sẽ vui vẻ chạy nhiều thư viện Boost, giả sử hỗ trợ trình biên dịch tốt. Chỉ cần chăm sóc với cách sử dụng. Các thư viện Boost nâng cao mức trừu tượng và có thể dễ dàng sử dụng nhiều tài nguyên hơn bạn nghĩ.
Cảm ơn thông tin. Bạn có nghi ngờ rằng libstdC++ của Arcom là thư viện GNU không? Hệ thống của bạn có bao gồm glibc cho libc không? – bmdhacks
Vâng, libstdC++ của Arcom là phiên bản GNU. Và vâng, chúng tôi sử dụng glibc. uclib cũng phải hoạt động nhưng chúng tôi vẫn chưa đi xuống con đường đó. – MattyT
Cảm ơn thông tin, nhưng tôi quan tâm nhiều hơn đến các hệ thống dựa trên uclibc. Một khi bạn bắt đầu sử dụng glibc và GNU libstdC++, bạn khá giống với RedHat tốt trên x86. Có thể là glibc và GNU libstdC++ là những cách duy nhất để sử dụng boost, nhưng tôi hy vọng ai đó biết nếu đó là trường hợp. – bmdhacks
Tôi googled "uclibc stlport". Dường như có ít nhất một vài phiên bản của uclibc mà stlport có thể được biên dịch (xem this). Cho rằng, tôi muốn nói Boost chỉ là một vài bước biên dịch. Tôi đã đọc một thông điệp của David Abrahams (một thành viên tích cực của cộng đồng tăng cường) nói rằng Boost không phụ thuộc trực tiếp vào libc đã sử dụng. Nhưng một số thư viện vẫn có thể gây ra vấn đề, ví dụ như Boost.Python, vì nó phụ thuộc vào cái gì khác (Python trong ví dụ của tôi) có thể khó biên dịch với uclibc.
Hope this helps
Cảm ơn câu trả lời hợp lý đầu tiên. Bạn đã cho tôi nửa đường ở đó, rất hữu ích. Tôi vẫn giữ cho ai đó với kinh nghiệm thực tế hoặc bằng chứng về điều này thực sự đang được triển khai, xem xét các tiền thưởng lớn tôi đã cung cấp. – bmdhacks
Có, bạn có thể sử dụng tăng cường với uclibc.
Tôi đã thử điều này với tăng 1.45 & uclibc trên ARM9260
- Dùng tươi OpenEmbedded
- Cấu hình nó để sử dụng Angstrom
- Configure Angstrom sử dụng uclibc
- làm tăng - bitbake tăng
- 1. Tăng cường việc sử dụng
- 2. Có thể sử dụng thực tế tăng cường trong nhà mà không cần GPS
- 3. Có thể sử dụng .dll trên Linux
- 4. Có Thư viện tăng cường gui không?
- 5. Người mới bắt đầu sử dụng Linux, Nơi đặt thư viện tăng cường?
- 6. Có thể sử dụng xcodebuild trên linux không?
- 7. Tại sao không có tăng cường :: filesystem :: move_file?
- 8. Tăng cường GA của tôi với các mạng nơron và/hoặc tăng cường học tập
- 9. Có thể tăng cường iostreams đọc và nén các tệp được nén trên máy bay không?
- 10. Thực tế tăng cường - Chỉ sử dụng GPS
- 11. Bạn có thể tăng cường độ rung trên thiết bị Android không?
- 12. Sử dụng phượng hoàng tăng cường, làm thế nào tôi có thể gọi một cuộc gọi find_if với starts_with?
- 13. Sử dụng thử nghiệm tăng cường với Visual Studio
- 14. nơi tôi có thể tìm thấy tham chiếu tăng cường tốt?
- 15. Tôi có thể sử dụng OpenFrameworks trên OS X mà không phải sử dụng XCode không?
- 16. BOOST_STATIC_ASSERT mà không cần tăng cường
- 17. Tôi có thể đăng ký ứng dụng iOS trên Linux không? (Sử dụng một cổng có mã số?)
- 18. Tôi có thể sử dụng Linux/Mono để triển khai ứng dụng web aspnet không?
- 19. Tôi có thể sử dụng lib EXIF nào từ chương trình Qt (trên Linux nhúng)?
- 20. Tôi có thể sử dụng update_all trên mảng không?
- 21. Tôi có thể sử dụng jmonkeyengine trên Android không?
- 22. Tôi có thể sử dụng Spring trên GAE không?
- 23. Cách tắt tăng cường EBean
- 24. Tôi có thể sử dụng những gì để tạo hình ảnh cây sửa đổi trên linux
- 25. Biên dịch có điều kiện bằng cách sử dụng các đặc tính kiểu tăng cường
- 26. Thư viện khách hàng Mongo C++ không thấy tăng cường của tôi
- 27. Tạo ứng dụng thực tế tăng cường cho blackberry10
- 28. Tinh thần tăng cường có thể xử lý Postscript/PDF như ngôn ngữ không?
- 29. Eclipse Google -App -Engine "sẽ không tăng cường"
- 30. Sử dụng Java 6, trên linux làm cách nào tôi có thể đảm bảo sử dụng ổ cắm ipv4?
Có hướng dẫn sử dụng thân thiện còn tồn tại. Chỉ cần, bạn biết, nói. Tôi cũng sẽ đặt câu hỏi bằng cách sử dụng tăng trên một hệ thống nhúng anyway ... có vẻ rất nhiều chi phí cho công việc nhúng. –
Tôi đang đánh giá tăng cường cho một ứng dụng enterprisey cho hệ thống máy chủ cấp, nhưng có một số lợi ích để mở rộng quy mô xuống các hệ thống nhúng. Đây không phải là hoàn toàn nhúng hoặc tôi muốn sử dụng cái gì khác, nhưng thúc đẩy mang lại rất nhiều để bàn nếu bạn có thể xoay nó. – bmdhacks
Boost có nhiều thư viện, tôi chắc chắn một số thư viện sẽ hoạt động và tỷ lệ cược là một số sẽ không hoạt động. Chúng ta đang nói về những phần nào? –