我正在使用swig为我的代码生成一个C#包装器。但是我还需要链接动态库,这是一个Linux .so文件。是否可以从C#中做到这一点?
由于
编辑:在Windows上使用.so文件。
答案 0 :(得分:1)
没有直接的方法可以做到这一点。您需要创建所有本机代码的本机Windows版本(所以本身以及所有依赖项)。
其他选项包括在Linux上编写所有代码,如果可能,包括C#部分(使用Mono)。或者创建某种客户端/服务器设置,其中您的本机代码保留在Linux上(作为服务器应用程序),并且您的C#代码在Windows客户端上。如果这是一个可行的解决方案,如果没有进一步的细节,很难说清楚。
答案 1 :(得分:0)
这个Post似乎对Linux有一些答案,您是否尝试在Windows中执行此操作?
答案 2 :(得分:0)
您的共享库很可能已经编译为使用linux命令调用。
在“Windows”应用程序中使用linux .so文件的唯一可行方法是使用cygwin编译它(你的应用程序),但这样会使你的windows应用程序成为posix应用程序,这意味着它必须激活cygwin每次运行都会起来。