WSL2 Ubuntu安装SDL2遇SDL_DBusContext未找到及SDL2.dll缺失问题
问题解决方法
一、SDL编译错误:unknown type name ‘SDL_DBusContext’
- 修复SDL_dbus.h的换行符问题:之前脚本的CRLF问题可能波及到头文件,执行命令清理换行符:
sed -i -e 's/\r$//' path/to/SDL_dbus.h - 安装DBus依赖库:Ubuntu下缺少DBus开发包会导致SDL_dbus.h里的类型定义被条件编译跳过,执行:
sudo apt-get update && sudo apt-get install libdbus-1-dev - 重新配置编译环境:删除当前build目录,重新执行配置命令(根据构建工具选择):
- 若用Autotools:
rm -rf build && mkdir build && cd build ../configure make - 若用CMake:
rm -rf build && mkdir build && cd build cmake .. make
- 若用Autotools:
二、C#项目找不到SDL2.dll的问题
- 若在Windows系统运行C#项目:WSL2编译的是Linux平台的
.so库,并非Windows的.dll,直接下载Windows预编译版SDL2库,将SDL2.dll放到C#项目输出目录即可。 - 若在WSL2 Ubuntu运行.NET Core/C#项目:不需要找SDL2.dll,直接使用Linux的
libSDL2.so库。确保SDL已通过make install安装到系统,然后在C#代码中用[DllImport("SDL2")]引用,系统会自动识别库文件。
内容的提问来源于stack exchange,提问作者Dylan Innou
相关产品推荐
相关产品推荐

