加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

dll连锁不一致

发布时间:2020-12-14 05:25:10 所属栏目:Windows 来源:网络整理
导读:我得到几个警告,说我有不一致的dll链接,尽管我将我的dll标题分类如下: #ifdef MY_ENGINE_EXPORTS#define ENGINE __declspec(dllexport)#else#define ENGINE __declspec(dllimport)#endif 当我将MY_ENGINE_EXPORTS添加到预处理器定义时,它可以摆脱错误,但我
我得到几个警告,说我有不一致的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,但似乎都不起作用.

正如我所说的,我可以将它添加到预处理器定义中,但它让我觉得它不应该表现得如此.

解决方法

I figured it was a predefined macro that the environment created for dll projects

是的,当您使用Win32项目模板启动DLL项目时,确实会发生这种情况.该向导将自动为您添加PROJECTNAME_EXPORTS预处理器定义.

皱纹是它不能在符号中使用空格,因此它不能使用“MY PROJECT_EXPORTS”.它将放下空间并使其成为MYPROJECT_EXPORTS.这与你使用的那个不匹配,MY_PROJECT_EXPORTS.什么都没有快速编辑替换无法修复当然.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读