如题。
编写了一个DLL,封装了一个父类和几个子类。现在父类可以导出,导出子类却出现错误。求解答

解决方案 »

  1.   

    what's wrong?
    一个场景:
    问:我的程序有问题,求解答
    A答:有问题就改正确啊
    B答:当我是上帝啊
    C答:当我是耶稣啊
    D答:当我是神仙啊
      

  2.   

    好吧,附代码:
    #define DllExport __declspec(dllexport)#define DllImport __declspec(dllimport)CPans类class DllImport CPans
    {
    // ---------------------------------
    // attributes
    // ---------------------------------
    private:
    //定义节点指针
    xmlNodePtr pNode;public:
    //定义类指针
    CPans *pCPans; // ---------------------------------
    // construction
    // ---------------------------------
    CPans(); //! destruction
    virtual ~CPans();
    // ---------------------------------
    // methods
    // ---------------------------------
    public:      ……  ……
    };//声明一个 CPans 类
    extern DllImport CPans m_pans;
    CObjectDependencies 类class DllImport CObjectDependencies : public CPans
    {
    // ---------------------------------
    // attributes
    // ---------------------------------
    private:public:
    //定义类指针
    CObjectDependencies  *pCObjectDependencies; //定义节点指针
    xmlNodePtr pObjectDependencies;
    // ---------------------------------
    // construction
    // ---------------------------------
    public:
    //! construction
    CObjectDependencies();

    //! destruction
    virtual ~CObjectDependencies();
    // ---------------------------------
    // methods
    // ---------------------------------
    public:
    };//声明一个 CObjectDependencies 类
    extern DllImport CObjectDependencies m_ObjectDependencies;
    如上为测试工程中放入Include目录下的.h文件。各种Lib Dll 都放在了该放的位置。
    测试工程中只能调用CPans类的变量m_pans,却不能调用CObjectDependencies类的变量m_ObjectDependencies。
      

  3.   

    弱问,为什么dll中要写全局对象呢?类导出不就行了
      

  4.   

    头文件:
    #ifdef DLL_CLASS 
     #define DllExport __declspec(dllexport)
    #else
     #define DllImport __declspec(dllimport)
    cpp文件:
    #define DLL_CLASS