dll のヘッダーを次のように分類しているにもかかわらず、一貫性のない dll リンケージがあるといういくつかの警告が表示されます。
#ifdef MY_ENGINE_EXPORTS
#define ENGINE __declspec(dllexport)
#else
#define ENGINE __declspec(dllimport)
#endif
MY_ENGINE_EXPORTS をプリプロセッサ定義に追加すると、エラーを取り除くのに問題なく動作しますが、ビルド/エクスポート時にこれを自動的に行う必要があるという印象を受けました。私はそれを間違って表現していますか?プロジェクトは「my engine」などの 2 つの単語であるため、アンダースコアを含めました。MY_ENGINE_EXPORTS と MYENGINE_EXPORTS の両方で試しましたが、どちらもうまくいかないようです。
私が言うように、プリプロセッサの定義に追加することはできますが、なぜそれが本来の動作をしないのか、私を悩ませています。