2016-04-07 18 views
1

Monoで動作するには、.NETライブラリをLinuxに移植する必要があります。Linux(モノ)で混在モード(管理/非管理)dllを使用する

ライブラリ自体はC#で記述されていますが、管理対象と非管理対象の両方のC++で記述された別の混合モードDLLを参照し、管理対象ラッパーをアンマネージクラスに公開します。

私は、Windows用のVSでコンパイルされているので、dllがLinux上で動作するだけではないと仮定しています。

PS:混在モードのDLLは、どちらもLinuxポートを持つlibpngとzlibのみをリンクします。

1)これを回避する方法はありますか?

2)WINEは、ライブラリのアンママージドな部分をカバーするためにモノと組み合わせて使用​​することはできますか?もしそうなら、パフォーマンスの問題を引き起こすでしょうか?

+0

を使用することです。 h – denfromufa

答えて

1

モノは混合モードアセンブリをサポートしていないため、WINEが役立つ場合は試してみてください。 https://github.com/pythonnet/pythonnet/blob/master/src/monoclr/pynetclr:

実現可能なアプローチは回避策この問題埋め込まれpythonnetモノにCppSharp、https://github.com/mono/CppSharp

+0

cppsharpはリバースピンボケ(dllexport)をサポートしていませんhttps://github.com/mono/CppSharp/issues/613 – denfromufa

関連する問題