Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
非表示にすることは可能ですか
#include <header.h> //from library B
ライブラリAを使用するプロジェクトから?
そうしないとライブラリAがコンパイルされないため、そこにインクルードを保持する必要がありますが、そのヘッダーはメインプロジェクトに表示されるべきではない他のライブラリBからのものであるため、メインプログラムはそのheader.hを見つけようとし、コンパイルは失敗します.
ライブラリ A をコンパイルする場合にのみ、シンボルを の中に入れて#ifdef定義することができます。
#ifdef
#ifdef INCLUDE_FROM_LIBRARY_B #include <header.h> //from library B #endif //INCLUDE_FROM_LIBRARY_B
更新:しかし、おそらく最良のオプションは、上記の@Robinsonの提案です。ヘッダーファイルには含めず、必要な場合にのみ.cppファイルに含めてください。