我试图在Windows上开发它之后,在Linux上运行我的C#/ C++应用程序。如何从Mono应用程序使用C++模块
它的一小部分FooLib是用C++编写的C++编写的,用于提高性能。 FooLib不使用系统调用,只使用标准的C++功能。它导出一个函数,声明为:
extern "C" __declspec(dllexport) void Foo(float*, int, float*);
它用Visual C++编译。我试图与Windows编译FooLib.dll下单运行的应用程序,但该dll加载(的DllImport)与失败:
Unhandled Exception: System.DllNotFoundException:Foo(single[2],int,single[])
所以,我应该怎么办?
- 以某种方式更改导出声明?
- 用Linux上的gcc编译成.so库,然后加载?
- 在Linux上用gcc将它交叉编译成一个.dll文件,然后加载?
- 还有别的吗?