我收到几个警告说我有不一致的 dll 链接,尽管我像这样对我的 dll 的标题进行分类:
#ifdef MY_ENGINE_EXPORTS
#define ENGINE __declspec(dllexport)
#else
#define ENGINE __declspec(dllimport)
#endif
当我将 MY_ENGINE_EXPORTS 添加到预处理器定义时,它可以很好地消除错误,但我的印象是这应该在构建/导出时自动完成。我的措辞有误吗?我包括了一个下划线,因为该项目是 2 个单词,例如“我的引擎”。我已经将它作为 MY_ENGINE_EXPORTS 和 MYENGINE_EXPORTS 进行了尝试,但似乎都不起作用。
正如我所说,我可以将它添加到预处理器定义中,但这让我很困惑,为什么它的行为不应该如此。