从dll调用类构造函数时出现is_block_type_valid错误

时间:2017-07-18 00:56:51

标签: c++ dll dllexport

我已经构建了一个DLL,并通过__declspec(dllexport)关键字从类中导出了一些成员。我主要是尝试从我的班级中导出一个构造函数。

然后我得到了一个成功的DLL处理。

接下来,我可以使用DLL句柄和进程名称来获取构造函数的DLL导出。

我收到导出但它不是null,所以看起来它可以找到它。 问题是当我调用导出的构造函数时,我收到一个错误,上面写着:

Expression: is_block_type_valid(header->_block_use)

构造函数不是特别的,只是设置一些变量。

我不太清楚如何从这里开始以找出问题所在。

对不起,我发现的问题是我无法将std :: stringstream成员导出到DLL中。出于某种原因,如果我使用此成员导出一个类,我会收到该错误。

这会引发错误:

/*****************************
* Testing
*****************************/
class DLL_API test_sup_class: public std::enable_shared_from_this<test_sup_class>
{
public:
    test_sup_class();

    virtual int initialize() = 0;

    static int test_sup_function();

public:

    //! Should draw debug ?
    bool                                b_draw_debug;

    //! Should draw debug ?
    bool                                b_debug_draw_limits;

public:
    std::shared_ptr<ik_solver_impl> impl;

    //! Debug strings printed from the solver
    std::stringstream                   str;

    //! Joint data for the solver
    std::shared_ptr<ik_joint_data>      joint_data;

    //! Pointer to the BIK solver
    std::shared_ptr<test_class>         test_class_ptr;


};

0 个答案:

没有答案