.net 如何使用C++;来自Mono应用程序的模块
在Windows上开发完C#/C++应用后,我正在尝试在Linux上运行它.net 如何使用C++;来自Mono应用程序的模块,.net,dll,mono,dynamic-linking,.net,Dll,Mono,Dynamic Linking,在Windows上开发完C#/C++应用后,我正在尝试在Linux上运行它 FooLib的一小部分,是用C++编写的,用于从C语言中调用。WORIIB不使用系统调用,只使用标准C++功能。它导出一个函数,声明为: extern "C" __declspec(dllexport) void Foo(float*, int, float*); 是用Visual C++编写的。我尝试在mono下使用windows编译的doublib.dll运行应用程序,但dll加载(DllImport)失败,原因
FooLib的一小部分,是用C++编写的,用于从C语言中调用。WORIIB不使用系统调用,只使用标准C++功能。它导出一个函数,声明为:
extern "C" __declspec(dllexport) void Foo(float*, int, float*);
是用Visual C++编写的。我尝试在mono下使用windows编译的doublib.dll运行应用程序,但dll加载(DllImport)失败,原因是:
Unhandled Exception: System.DllNotFoundException:Foo(single[2],int,single[])
那么,我该怎么办
- 以某种方式更改导出声明
- 在Linux上用gcc将它编译成一个.so库,然后加载它
- 在Linux上用gcc交叉编译成.dll,然后加载它
- 还有别的吗