C++/CLI 包装器不能使用来自本机C++ dll 的矢量
C++/CLI wrapper can't use vector from native C++ dll
我有一个像这样的项目:c -> c /cli包装器 -> c#app。
我有一个导出的类,在c dll中称为 Drawing
,.h .h包含一个 static std::vector<void*>
,vector在.cpp file中定义。
问题是我遇到以下错误:
错误
c 的本机dll .lib文件已链接到包装器,通常包装器可以与其他内容一起使用,但是一旦添加了std :: vector,它就会开始抛出链接器错误。
我尝试在C DLL中创建一个 void*
作为argumument的函数,并在"内部"添加到列表中,但是我仍然得到相同的错误:
错误
任何类型的帮助都将受到赞赏
回答扩展我的评论。
您可以尝试将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) {}
};
相关文章:
- 从C++本机插件更新Vector3数组
- GCC本机矩阵运算库
- VC++本机单元测试,找不到调试符号
- 在这种情况下,java对象是否可以调用本机函数
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 无法将标准库导入本机 android 项目中的头文件
- 使用本机 C++ 应用程序中的 C# 代码
- 在nodejs中使用本机代码的最佳方法是什么?
- 如何告诉本机节点模块所需的dll存储在哪里?
- 在自定义程序中使用本机 Windows 自然顺序排序
- 如何在C++非托管/本机 DLL 中从注册免费 COM C# 托管 DLL 创建 COM 对象
- MS 本机单元测试 - 断言::线程失败不起作用
- 将音频从浏览器流式传输到WebRTC本机C++应用程序
- Winapi - SetWindowLongPtr in ShutdownBlockReason创建/销毁JNI本机代码
- C++/CLI 混合托管/本机 DLL 不起作用
- 子系统中的异常处理:本机
- 多次调用本机方法时出现致命错误
- 如何使用 Malloc 调试来检查本机内存泄漏?
- 使用本机 JNI 静态方法实现C++ Java 运行时错误