私は非常に基本的なライブラリを構築しています。これは、必要に応じて他の人が使用できるようにリリースする予定の最初のプロジェクトです。そのため、組織に関する限り、いくつかの「ベストプラクティス」を知りたいと思います。私のプロジェクトの唯一のユニークな点は、プロジェクトで使用するために、ユーザーは特定の抽象クラスを拡張する必要があるということです。これが私の最初の質問につながります。
- 私が見た多くのライブラリは、.a ファイルと単一の .h ファイルで構成されています。これはベストプラクティスですか?ユーザーが含めるファイルを選択できるように、すべてのパブリック .h ファイルを公開する方がよいのではないでしょうか? これが好ましい方法である場合、それはどのように正確に達成されますか? その単一の .h ファイルには何が入りますか?
2 つ目の質問は、依存関係に関するものです。たとえば、私の現在のプロジェクトは OpenGL、GLFW、および GLEW に依存しています。それらをプロジェクトで何らかの方法でパッケージ化する必要がありますか、それともユーザーの責任でそれらがインストールされていることを確認する必要がありますか?
編集:誰かが私のターゲット OS について尋ねました。私の依存関係はすべてクロスプラットフォームであるため、(おそらく素朴に) 私のライブラリもクロスプラットフォームにすることを望んでいます。
助けてくれてありがとう!