私はC ++ライブラリに取り組んでいます。最終的には、いくつかの例とPythonバインディングとともに、複数のプラットフォーム(少なくともLinuxとWindows)で公開したいと思います。作業は順調に進んでいますが、現時点ではプロジェクトは非常に厄介で、Visual C ++専用に組み込まれており、マルチプラットフォームではありません。
したがって、クリーンアップが必要だと感じています。私が最初に改善したいのは、プロジェクトのディレクトリ構造です。Automakeツールに適した構造を作成して、複数のプラットフォームで簡単にコンパイルできるようにしたいのですが、これまで使用したことがありません。私はまだVisualStudioで(ほとんどの)コーディングを行っているので、VisualStudioプロジェクトとソリューションファイルも保持する場所が必要になります。
「C ++ライブラリのディレクトリ構造」などの用語をグーグルで検索しようとしましたが、何も役に立たないようです。非常に基本的なガイドラインをいくつか見つけましたが、明確な解決策はありませんでした。
いくつかのオープンソースライブラリを見ていると、私は次のことを思いつきました。
\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
...
私はマルチプラットフォーム開発/オープンソースプロジェクトの経験がまったくないか、ほとんどありません。そのようなプロジェクトを構築する方法についての適切なガイドラインが見つからないことに非常に驚いています。
そのような図書館プロジェクトを一般的にどのように構築すべきでしょうか?何を読むことをお勧めしますか?良い例はありますか?