LuaInterface выглядит как чистый C #, но использует смешанный режим C ++ / CLI-версию версии Windows для собственной библиотеки Lua, которая смешивает код .NEt и собственный 32-битный код Windows , Нет компилятора C ++ / CLI для платформ, отличных от Windows, поэтому вы не можете портировать / перекомпилировать код C ++ / CLI, хотя он должен работать на Mono на Win32 (или, может быть, Wine) ..
Единственный действительно жизнеспособный способ заставить это работать на Mono - это заставить его использовать P / Invokes вместо C ++ / CLI. Затем можно использовать dllmap , чтобы при попытке Mono разрешить вызовы P / Invoke для lua51.dll он перенаправляется на эквивалент Linux, liblua.so.5.1.