内部アプリケーションの開発専用に使用する内部ライブラリを開発する必要がある理由を理解できません。組織外の誰かが作成したソフトウェアを使用したい場合は、ヘッダーファイルと.aまたは.soファイルを送ってプロジェクトにリンクするだけでよい(同じ環境でコンパイルされていると仮定) 。
しかし、ヘッダーと実装ファイルにアクセスでき、それらをソースツリーに含めてすべて一緒にコンパイルできるときに、内部ライブラリを内部アプリケーションにリンクするためだけに開発する必要があるのはなぜですか?
つまり、ソースコードが記述されている場合、それをバイナリライブラリにコンパイルしてアプリケーションにリンクするか、プロジェクトのソースファイルに含めて定期的にコンパイルするだけにするかをどのように決定しますか?
各プロジェクトに「インクルード」ファイルと言っても、現在開発中のプロジェクトのソースツリーに各ファイルをコピーして貼り付けることを意味するものではありません。通常の方法でプロジェクトのファイルに含めることができる共通のソースコード(#includeなど)を含む(任意のプロジェクトとは別の)ディレクトリ/ライブラリを開発することを意味します。
psここでは、複数のデスクトップアプリケーション用のc / c ++開発について話しています。