骑手和Ubuntu上的Monogame sdl2错误

时间:2017-04-18 23:46:39

标签: ubuntu mono monogame rider

我正在尝试与Rider一起使用monogame并为项目制作一个基本模板:

https://github.com/bussiere/MonoGameRiderTemplate

到目前为止,我有一个sdl2错误:

Unhandled Exception:
System.DllNotFoundException: SDL2.dll
at (wrapper managed-to-native) Sdl:GetVersion (Sdl/Version&)
at Microsoft.Xna.Framework.SdlGamePlatform..ctor (Microsoft.Xna.Framework.Game game) <0x412db940 + 0x000f7> in :0 
at Microsoft.Xna.Framework.GamePlatform.PlatformCreate (Microsoft.Xna.Framework.Game game) <0x412db290 + 0x00027> in :0 
at Microsoft.Xna.Framework.Game..ctor () <0x412d8250 + 0x008d3> in :0 
at Example.Game1..ctor () <0x412d7f50 + 0x0000f> in :0 
at Example.Program.Main () <0x412d7d50 + 0x00027> in :0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.DllNotFoundException: SDL2.dll
at (wrapper managed-to-native) Sdl:GetVersion (Sdl/Version&)
at Microsoft.Xna.Framework.SdlGamePlatform..ctor (Microsoft.Xna.Framework.Game game) <0x412db940 + 0x000f7> in :0 
at Microsoft.Xna.Framework.GamePlatform.PlatformCreate (Microsoft.Xna.Framework.Game game) <0x412db290 + 0x00027> in :0 
at Microsoft.Xna.Framework.Game..ctor () <0x412d8250 + 0x008d3> in :0 
at Example.Game1..ctor () <0x412d7f50 + 0x0000f> in :0 
at Example.Program.Main () <0x412d7d50 + 0x00027> in :0

我认为我来自sdl2 lib,我已经把它们打开了 https://github.com/bussiere/MonoGameRiderTemplate/tree/master/Example/lib

Example/lib/

我认为解决方案可能在MonoGame.Framework.dll.config文件中:

https://github.com/bussiere/MonoGameRiderTemplate/blob/master/Example/MonoGame.Framework.dll.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <dllmap dll="SDL2.dll" os="osx" target="./lib/darwin-x86_64/libSDL2-2.0.0.dylib"/>
    <dllmap dll="soft_oal.dll" os="osx" target="./lib/darwin-x86_64/libopenal.1.dylib" />
    <dllmap dll="SDL2.dll" os="linux" cpu="x86" target="./lib/linux-i686/libSDL2-2.0.so.0"/>
    <dllmap dll="soft_oal.dll" os="linux" cpu="x86" target="./lib/linux-i686/libopenal.so.1" />
    <dllmap dll="SDL2.dll" os="linux" cpu="x86-64" target="./lib/linux-x86_64/libSDL2-2.0.so.0"/>
    <dllmap dll="soft_oal.dll" os="linux" cpu="x86-64" target="./lib/linux-x86_64/libopenal.so.1" />
</configuration>

所以如果有人有任何想法......

感谢和问候

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。 事实证明,没有安装SDL2。

2个必要的套餐是:

  • libsdl2-2.0-0
  • libsdl2-dev(不确定是强制性的)

答案 1 :(得分:1)

解决方案是将sdl更新为2.0.5或最新版本