我在stdafx.h 定义了#ifdef  MAX_DLL
#undef  ClassExport
#define ClassExport _declspec(dllexport)
#else
#define ClassExport _declspec(dllimport)
#endif但是总是定义到#define ClassExport _declspec(dllimport) 这一行里,为什么??

解决方案 »

  1.   

    你在CPP中定义的MAX_DLL?把#define MAX_DLL放到#include"stdafx.h"之前
      

  2.   


    不是在cpp里定义的,我是在" 项目=》属性=》C/C++ =》 Preprocessor =>Preprocessor definitions" 这里面定义的 MAX_DLL在我的工程里面 我用#ifdef MAX_DLL
    #define ClassExport __declspec(dllexport)//每次都是这里是灰色的,我明明已经定义MAX_DLL了
    #else
    #define ClassExport __declspec(dllimport) //这里是正常的,也就是说如果没有定义MAX_DLL才会跳进这里,
    #endif
      

  3.   

    你是不是在Debug配置中设置了预编译头MAX_DLL,而在Release状态下查看的代码啊?