如何在工程中声明DLL中的类?
1.我在DLL中建立了自己的类MYCLASS,然后通过LIB导出。
2.在EXE中调用DLL的类MYCLASS,MYCLASS的头文件中声明该类
  是否要包含私有变量和函数?
  是否可以只声明公有的变量和函数,私有的省略?

解决方案 »

  1.   

    设置工程:TestDLLEXE以及TestDLL输出目录为..\DEBUG(对应release版本为..\release)
    设置库文件目录 Options中Directions目录中的Liberary files相应增加..\debug的目录
    在你的DLL中Alt+F7中有一个C/C++中preprocessor definitions编辑框添加AAA_EXPORTS定义,然后在头文件类定义之前添加
    #ifdef AAA_EXPORTS
    #define AAA_API __declspec(dllexport)
    #else
    #define AAA_API __declspec(dllimport)
    #endif
    然后在你的类的声明前添加AAA_API ,就象上面一样,在主工程中包括这个头文件,主工程中在ALT+F7的LINK选项卡(应该是这个选项卡,我这没环境)添加该DLL的.LIB文件。OK
      

  2.   

    因为在DLL的MYCLASS类中,有一些自定义结构体在私有函数中做参数用,如果包含了  dll头文件,则这些结构体也需要在工程中有定义,我不想这样。是不是我的写法有问题?