ubuntu - Rider 和 Ubuntu 上的 Monogame sdl2 错误

标签 ubuntu mono monogame rider

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

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>

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

谢谢并恭祝安康

最佳答案

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

2个必要的包是:

  • libsdl2-2.0-0
  • libsdl2-dev(不确定是否强制)
  • 关于ubuntu - Rider 和 Ubuntu 上的 Monogame sdl2 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43483995/

    相关文章:

    xna - 如何在 MonoGame 中获取底层 Window?

    python - 软件包升级后 Ubuntu 14.4 上的 Pip 损坏

    PHP fatal error : Class 'Crypt_RSA' not found

    c# - 从 ILGenerator 中检索代码

    git - .gitignore 用于 Mono/MonoDevelop 项目

    c# - 将触摸手势转换为鼠标手势

    ruby - 'pathutil' ruby​​ gem 是否与 jekyll (v3.9.0) 和 ruby​​ (v3.0.0) 兼容?

    linux - 在 Linux 上哪里放置 zsh 自动完成脚本?

    c# - 优先级最低的线程被调用更多次

    c# - 实现简单的 Pong AI 时,会创建两个 Racket 并闪烁