一般的な仮説上の問題を詳しく説明します。
問題:
静的ライブラリ saylibX.aとヘッダー ファイルa.hとb.h. ヘッダー ファイルa.hにb.hは、ライブラリによってエクスポートされた API が含まれています。をa.h含みます。ただし、ライブラリによって非公開で使用されるデータ構造が含まれており、所有者がこれらのデータ構造を公開したくないため、ライブラリの所有者によって出荷されません。a1.hb.hb1.ha1.hb1.ha1.hb1.h
ライブラリによってエクスポートされた API を呼び出すアプリケーションを作成する必要があります。そのため、API の宣言を含むa.handを含める必要があります。b.h
いいよ。アプリケーションを作成し、ヘッダー ファイルa.hをインクルードしb.h、API を呼び出します。しかし、コンパイラはandによって内部的に含まれているa1.handを見つけることができないため、コンパイラ エラーが発生します。b1.ha.hb.h
質問:
この問題の解決策はありますか? はいの場合、真剣に解決策を知りたい:)
ライブラリの所有者は、自分のライブラリで内部的に使用しているすべてのプライベート ヘッダー ファイルを公開する必要がありますか?