我已经构建了一个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;
};