当前位置:  开发笔记 > 编程语言 > 正文

如何在Mono/Linux上使用LuaInterface

如何解决《如何在Mono/Linux上使用LuaInterface》经验,为你挑选了2个好方法。

当我尝试在Linux上使用Mono上的LuaInterface时(在Ubuntu 9.04上使用Mono 2.0),我得到以下异常:

** (App.exe:8599): WARNING **: Method ':.DoDllLanguageSupportValidation ()' in assembly 
'/home/ulrich/test/Debug/lua51.dll' contains native code that cannot 
be executed by Mono on this platform. 
The assembly was probably created using C++/CLI.

根据这个网站, LuaInterface 可以与Mono一起使用.现代艺术博物馆也说.

是否可以重新编译lua51.dll以使其与Mono兼容?



1> Mikayla Hutc..:

LuaInterface看起来是纯C#,但它使用混合模式 C++/CLI-ifed版本的本机Lua库的Windows版本,它混合.NEt代码和本机32位Windows代码.除了Windows之外的平台没有C++/CLI编译器,因此您无法移植/重新编译C++/CLI代码,尽管它应该适用于Win32(或者可能是Wine)上的Mono.

让它在Mono上运行的唯一真正可行的方法是使用P/Invokes而不是C++/CLI.然后,您可以使用dllmap,以便当Mono尝试解析对lua51.dll的P/Invoke调用时,会将其重定向到Linux等效项liblua.so.5.1.



2> jsimmons..:

旧版本的LuaInterface使用纯P/Invoke包装器.你可以用它.

还有一些尝试替代方案,包括我自己.http://github.com/jsimmons/LuaSharp

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有