Tôi đang làm việc trên một thư viện C ++. Cuối cùng, tôi muốn công khai nó cho nhiều nền tảng (ít nhất là Linux và Windows), cùng với một số ví dụ và các ràng buộc Python . Công việc đang tiến triển tốt đẹp, nhưng hiện tại thì dự án khá lộn xộn, chỉ được xây dựng trong và cho Visual C ++ chứ không phải đa nền tảng.
Do đó, tôi cảm thấy một cuộc dọn dẹp đang diễn ra. Điều đầu tiên tôi muốn cải thiện là cấu trúc thư mục của dự án. Tôi muốn tạo một cấu trúc phù hợp với các công cụ Automake để cho phép biên dịch dễ dàng trên nhiều nền tảng, nhưng tôi chưa bao giờ sử dụng chúng trước đây. Vì tôi vẫn đang làm (hầu hết) viết mã trong Visual Studio, tôi cũng cần một nơi nào đó để giữ các tệp giải pháp và dự án Visual Studio của mình.
Tôi đã cố gắng google để tìm các thuật ngữ như "cấu trúc thư mục thư viện C ++", nhưng dường như không có gì hữu ích xuất hiện. Tôi đã tìm thấy một số hướng dẫn rất cơ bản, nhưng không có giải pháp rõ ràng.
Trong khi xem xét một số thư viện mã nguồn mở, tôi đã nghĩ ra những điều sau:
\mylib
\mylib <source files, read somewhere to avoid 'src' directory>
\include? or just mix .cpp and .h
\bin <compiled examples, where to put the sources?>
\python <Python bindings stuff>
\lib <compiled library>
\projects <VC++ project files, .sln goes in project root?>
\include?
README
AUTHORS
...
Tôi không có / ít kinh nghiệm trước đây với các dự án mã nguồn mở / phát triển đa nền tảng và khá ngạc nhiên rằng tôi không thể tìm thấy bất kỳ hướng dẫn tốt nào về cách cấu trúc một dự án như vậy.
Nói chung nên cấu trúc một dự án thư viện như thế nào? Nên đọc gì? Có một số ví dụ điển hình?