加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

无法从Windows Mono C#Project访问Linux gcc编译的.so共享库

发布时间:2020-12-13 22:37:25 所属栏目:Windows 来源:网络整理
导读:这是设置: 我有一个共享库(c使用extern“C”方法)我在linux中编译并创建了一个library.so文件. 我在同一个盒子(Ubuntu)上使用Mono Develop并且能够DLLImport(“library.so”)并且访问我的extern函数没问题. 当我将.so文件复制到Windows机器(Win7)并尝试做同
这是设置:

我有一个共享库(c使用extern“C”方法)我在linux中编译并创建了一个library.so文件.

我在同一个盒子(Ubuntu)上使用Mono Develop并且能够DLLImport(“library.so”)并且访问我的extern函数没问题.

当我将.so文件复制到Windows机器(Win7)并尝试做同样的事情时,问题出现了,但这次在MonoDevelop的Windows下运行Mono.

我得到一个System.BadImageFormatException.我试过在library.so文件之前做一个“./”,但没有任何帮助.我已经检查并仔细检查它是否正在查看正确的目录.

有什么大的我不知道为什么我无法在Windows / Mono下访问这个.so文件?

解决方法

您不能在Windows上使用.so elf二进制文件作为本机代码.您需要将其重新编译为Windows支持的本机二进制文件(即.dll).

我建议你阅读我们的wiki page about cross platform interop between managed an unmanaged code.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读