我在写一个DLL库,在库的头文件是这样写:
#ifdef CALC_EXPORTS#define CALC_API __declspec (dllexport)#else#define CALC_API __declspec (dllimport)#endif但在我的CPP文件中,也没定义CALC_EXPORTS,为什么库还能导出呢

解决方案 »

  1.   

    在整个工程中搜索CALC_EXPORTS试试。
      

  2.   

    库工程没有定义CALC_EXPORTS,这个库是我写的,我故意不定义CALC_EXPORTS,结果还能导出函数
      

  3.   

    CALC 如果你自己建工程时名字就为这个的话,工程会自动定义这个宏CALC_EXPORTS,在工程设置的C++选项卡中的definitions列表框里.
      

  4.   

    头文件的宏就是我给出的这些,也没定义CALC_EXPORTS
      

  5.   


    你用的VC版本是多少啊? VC6:
    菜单->Project->Settings->C/C++ ->Preprocessor definitions( 下面的编框中就有这么一个创建工程时自动定义的宏.)
      

  6.   

    也可以自己在stdafx.h中自己定义一个CALC_EXPORTS啊反正动态库模块的所有源文件都会包含这个头文件的
      

  7.   

    在VC6.0
    菜单->Project->Settings->C/C++ ->Preprocessor definitions
    就可以看见全部工程自定义的宏