複数の dll に複数のクラスがあり、各 dll には他のクラスが含まれている場合があります。
__declspecdll のすべてのヘッダーのパラメーターを指定するために、次のマクロを使用します。
#ifdef DLL_UTIL_A
#define DLLEXPORT __declspec(dllexport)
#else
#define DLLEXPORT __declspec(dllimport)
#endif
dllA に dllB が含まれているとします。問題は、dllB のヘッダー ファイルを dllA にインクルードすると、dllB のヘッダー ファイルDLLEXPORTからクラスをインポートするようにマクロが再定義されることです。プリプロセッサが解析を続行するために dllA に戻るDLLEXPORTと、不要な値が更新されて更新されます。
dll ごとに異なる定義を使用する必要がありますか (例: replace DLLEXPORTby )、またはdllA に戻るときに の古い値DLLEXPORT_DLL_Aを取得するクリーンな方法はありますか?DLLEXPORT