C# 在C+中使用opencv创建动态库+;

C# 在C+中使用opencv创建动态库+;,c#,c++,opencv,C#,C++,Opencv,我用Opencv构建了一个项目,然后在C#中使用它。 但我不能将包含opencv库的项目打包到动态DLL中,然后在C#中调用它。 谁能给我一些提示吗( 我的代码: 您必须使用Pinvoke技术,它允许您从c#代码调用c++函数 如果你有这样一个用c写的函数++ extern "C" { MYAPI void print_line(const char* str); } 你可以用c语言为它定义一个原型# 然后你可以在c#中使用它作为普通函数 如果要从c#传递std::string,


我用Opencv构建了一个项目,然后在C#中使用它。
但我不能将包含opencv库的项目打包到动态DLL中,然后在C#中调用它。
谁能给我一些提示吗(
我的代码:


您必须使用Pinvoke技术,它允许您从c#代码调用c++函数

如果你有这样一个用c写的函数++

extern "C" {

MYAPI void print_line(const char* str);

}
你可以用c语言为它定义一个原型#

然后你可以在c#中使用它作为普通函数

如果要从c#传递std::string,则必须使用封送拆收器。请参阅此


但我无法将OpenCV库导入C#。如何将OpenCV库打包到我的项目C++动态DLL中?您必须将您的C++库与OpenCV链接,当然这些DLL必须在执行时可供C#exe使用
extern "C" {

MYAPI void print_line(const char* str);

}
[DllImport("NativeLib.dll")]
private static extern void print_line(string str);