zoukankan      html  css  js  c++  java
  • VS2008 error C2470

    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,然后编译所需工程,通过。问题解决。

  • 相关阅读:
    mvc form
    mvc Action上面加 [HttpPost]
    存储过程
    tj
    第25月第18天 vue
    第25月第17天 django rest framwork authentication /tmp/mysql.sock
    第25月第15天 udacity cs253
    第25月第11天 deeplearning.ai
    第25月第9天 tf_tang_poems kaggle
    第25月第8天 100-Days-Of-ML-Code
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3275654.html
Copyright © 2011-2022 走看看