如何在 Mono/Linux 上使用 LuaInterface

2024-01-09

当我尝试使用时Lua接口 http://code.google.com/p/luainterface/在 Linux 上的 Mono 上(在 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.
  

根据这个网站 http://lua-users.org/wiki/LuaInterfaceLua接口can与 Mono 一起使用。MoMA http://www.mono-project.com/MoMA也这么说。

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


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

让它在 Mono 上工作的唯一真正可行的方法是使用 P/Invokes 而不是 C++/CLI。然后你可以使用dllmap http://www.mono-project.com/DllMap这样,当 Mono 尝试解析对 lua51.dll 的 P/Invoke 调用时,它会被重定向到 Linux 等效项 liblua.so.5.1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Mono/Linux 上使用 LuaInterface 的相关文章

随机推荐