解决:ERROR C2470:"XXX" 看起来像函数定义,但没有参数列表;跳过明显的函数体


因项目需要自己封装了一个MFC的拓展DLL文件,在测试使用这个DLL的时候,编译过程中出现ERROR C2470的报错提示信息,,双击报错信息,指向了我在dll工程中定义的一个头文件(这里需要说明一下的是,我是将一个类封装为DLL的),即类的声明部分,如下:

class OPCLIB_EXT_CLASS CWrapper
{
  //实现具体功能
}
右键 OPCLIB_EXT_CLASS,查找其的定义,发现未声明, 此处需要说明的是OPCLIB_EXT_CLASS是定义的一个宏对应的是AFX_CLASS_IMPORT/AFX_CLASS_EXPORT,在DLL工程文件中的stdafx.h中进行定义的,而在引用DLL的工程文件中,未定义上述宏,这就是出现报错的原因。在引用的DLL工程的stdafx.h文件中,添加定义,编译运行,一切正常。添加的代码内容如下:

#ifdef OPCLIB
#define OPCLIB_EXT_CLASS AFX_CLASS_EXPORT
#define OPCLIB_EXT_API AFX_API_EXPORT
#define OPCLIB_EXT_DATA AFX_DATA_EXPORT
#else
#define OPCLIB_EXT_CLASS AFX_CLASS_IMPORT
#define OPCLIB_EXT_API AFX_API_IMPORT
#define OPCLIB_EXT_DATA AFX_DATA_IMPORT
#endif

以上。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值