error C2470: '***类' : looks like a function definition, but there is no parameter list; skipping apparent body。

操作过程:由于***类 是我自己封装的dll,在编译该库的时候没有此错误,但是在需要用的工程里导入该库的时候在编译的时候报了此错误。

原因:找了会发现是我在dll库工程声明宏的时候声明在了stdafx.h里面,

#ifdef POTATO_EXPORTS
#define POTATOEXPORT _declspec(dllexport)
#else
#define POTATOEXPORT _declspec(dllimport)
#endif

在编译该dll工程的时候 这个stdafx.h文件是能找到了 因此编译dll库的时候不会报错,但是将该dll加载到所需工程的时候,由于stdafx.h头文件包含在dll工程里,在别的工程里就找不到#define POTATOEXPORT _declspec(dllimport)。 所以会报looks like a function definition, but there is no parameter list; skipping apparent body。

解决办法:在dll工程里新添加一个头文件,然后将此宏

#ifdef POTATO_EXPORTS
#define POTATOEXPORT _declspec(dllexport)
#else
#define POTATOEXPORT _declspec(dllimport)
#endif

放在该头文件里,最后在你需要导出的类的头文件里包含此头文件再编译dll工程,替换所需工程里的dll,同步头文件以及lib,然后编译所需工程,通过。问题解决。

VS2008 error C2470的更多相关文章

  1. VS2008 error PRJ0002 : 错误的结果 31 (从“C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.exe”返回)。

    解决方案,选择属性->配置属性->清单工具->输入和输出->嵌入清单,把是改成否

  2. VC编译错误,把类误认为是函数

    这段代码是在一个动态库中,我像把这个类导出,于是加上 SC_EXPORTS 宏.class SC_EXPORTS CProtocolCheck{public: CProtocolCheck(void) ...

  3. VS2010编译VS2008工程时,LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

    1.问题 电脑上同时安装了VS2008,VS2010,使用VS2010编译VS2008建立的工程,或者,VS2010创建新的工程.编译时,出现以下链接错误: LINK : fatal error LN ...

  4. VS2008 安装WINCE插件报错 ToolsMsmCA(Error)解决方案___VS2008

    在win7系统,VS2008环境下安装EFMS9280_SDK.msi文件出现报错 ToolsMsmCA(Error):IHxFilters filter registration failure: ...

  5. 安装vs2008出现MSI returned error code 1603的错误的解决

    作者:朱金灿 来源:http://blog.csdn.net/clever101 在win7 64位旗舰版上安装vs2008 ,一直停留在下面页面: 最后错误日志是: [12/12/16,15:39: ...

  6. VS2008 LINK : fatal error LNK1104: cannot open file 'atls.lib'错误解决方案

    用VS 2008编写ATL的64位应用程序时,提示链接错误:VS2008 LINK : fatal error LNK1104: cannot open file 'atls.lib' 问题原因 VS ...

  7. VS2008项目使用VS2015打开时,出现错误: error CS1012: Too many characters in character literal

    VS2008项目使用VS2015打开时,出现错误: error CS1012: Too many characters in character literal ------------------- ...

  8. win7 X64 使用VS2008 ->编译报错LINK : fatal error LNK1000: Internal error during Incr的解决

    编译报错LINK : fatal error LNK1000: Internal error during Incr的解决 Win7 旗舰版 Microsoft Visual Studio 2008 ...

  9. “Debug Assertion” Runtime Error on VS2008 VS2010 winhand.cpp

    I'm writing a C++ MFC program on VS2008 and I'm getting this "Debug Assertion Error" when ...

随机推荐

  1. TOM大师脚本01-查找未建索引的外键

    [oracle@Oracle11g 2016]$ cat 022201.sql column columns format a30 word_wrappedcolumn tablename forma ...

  2. ios 键盘弹起

    #pragma mark 键盘弹起操作 - (void)keyboardWillShow:(NSNotification *)notification{    NSDictionary *info = ...

  3. mac 连接linux

    1.ssh 通过ssh 的方式直接连接linux ssh name@ip -22 例:ssh  zyc@192.168.1.100 -22 这个的前提是linux 要开启ssh 服务 先看一下linu ...

  4. fish code

    <embed width="272" height="180" type="application/x-shockwave-flash" ...

  5. dedecms 发布文章时,关键字会自动加内链

    在后台找到:核心->批量维护->文档关键词维护 把关键字和链接网址删掉就可以了,生成更新后前端页面就不会再链接了.>_<.

  6. Apache配置域名

    Apache配置域名 在WIN下安装APACHE配置虚拟目录和UNIN下基本是一样的就是修改httpd.conf1:单个IP对应单个域名例如:www.phpunion.com对应192.168.1.1 ...

  7. 通用方法解决dedecms导航调用二级、三级栏目菜单

    博客之前做网站的时候经常会遇到二级菜单.三级菜单.了解dede的人都知道从5.5版本开始都有二级菜单的调用方法了,网上也有不少的教程文章.不过这个调用需要修改dede源码的二级菜单样式.个人感觉不是很 ...

  8. iOS证书详解--再转

    一.成员介绍1.    Certification(证书)证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:1)    Developer Certification(开发证书)安装在电脑上 ...

  9. How to solve "The specified service has been marked for deletion" error

    There may be several causes which lead to the service being stuck in “marked for deletion”. Microsof ...

  10. core dump

    Core Dump?! 整理:Wilbur Lang 何谓 core? 在使用半导体作为内存的材料前,人类是利用线圈当作内存的材料(发明 者为王安),线圈就叫作 core ,用线圈做的内存就叫作 co ...