我有一个像这样的项目:C ++-> C ++ / CLI包装器-> C#应用程序。
我在C ++ dll中有一个称为Drawing
的 exported 类,.h包含一个static std::vector<void*>
,向量在中定义了。 cpp文件。
问题是我遇到以下错误:
C ++的本机dll .lib文件链接到包装器,通常,包装器可与其他东西一起使用,但是一旦我添加了std :: vector,它就会开始引发链接器错误。
我尝试在具有void*
作为参数的C ++ dll中创建一个函数,并将其“内部”添加到列表中,但是仍然遇到相同的错误:
感谢任何帮助
答案 0 :(得分:0)
回答我的评论。
您可以尝试将std::vector<void*>
包装成具有您真正需要的功能的简单结构,如下所示:
class YourClass
{
private:
std::vector<void*> _vec;
public:
// implement functionalities you need
void add(void* elem)
{
_vec.add(elem);
}
// etc.
};
或通过继承:
class YourClass : public std::vector<void*>
{
public:
YourClass(int size)
: std::vector<void*>(size) {}
};