sdl 1.3 库何时可用(实现力反馈),或者我如何编译它们?

sdl 1.3 库何时可用(实现力反馈),或者我如何编译它们?

我想将 sdl 力反馈用于我的操纵杆并在 上使用它dolphin-emu

我需要 1.3 版 sdl 库,但只有 1.2 版可用。我尝试构建它们,但没有成功。

有人可以帮忙吗?

答案1

最好的办法是修补最新的稳定 sdl 1.2源代码,并使用 sdl1.2 获得某种力反馈效果。这是在下一个稳定版本的 sdl 发布之前的临时措施,但可能适合您的目的。

但是,最好将编译后的版本安装在 中,/opt而不是/usr或等路径位置/usr/local。这样,您仍然可以保留原始版本libsdl1.2debian,而只通过使用 来调用编译后的版本LD_LIBRARY_PATH(请参阅后面的解释)。

首先,获取依赖项

sudo apt-get build-dep libsdl1.2
sudo apt-get install build-essential checkinstall

build-dep使其工作,请转到软件源并选中复选框以启用源代码。然后运行sudo apt-get update,任何build-dep命令都应该有效。

列出了依赖项的完整列表这里提供有关编译的更多信息。

现在,下载sdl 源代码并解压,然后从下载补丁icculus.org,提取补丁,并将其移动到 sdl 源代码文件夹,然后从该文件夹运行:

patch -p1 < sdl_1.2-haptic.diff

接下来运行

./configure --prefix=/opt/sdl-1.2 && make

没有必要添加--enable-haptic(触觉是用于力反馈的术语),因为补丁应该已经启用了它。有关触觉的更多信息,请参阅这里这里

要将其安装在/opt(或用 configure 指定的位置),请sudo checkinstall从同一文件夹运行。

要使用此版本的 sdl,您需要在这样的包装器中运行您的游戏:

#!/bin/bash

export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH
cd /game/folder
game
exit 0

要检查是否加载了正确的 sdl 版本,请在终端中运行

export LD_LIBRARY_PATH=/opt/sdl-1.2/lib:$LD_LIBRARY_PATH

然后ldd在你知道使用 sdl 的游戏上运行:

ldd /usr/local/bin/rott

这表明它正在使用您编译的 sdl:

libSDL-1.2.so.0 => /opt/sdl-1.2/lib/libSDL-1.2.so.0 (0xb7695000)

力反馈效果会有很大差异,有时可能根本不存在,但这是目前获得某些效果的唯一方法。据报道,它可以与 、 的开源端口配合使用Freespace2FreespaceOpen这个帖子显示与基于 Linux 的系统相关的内容(而不是其所暗示的 Mac OS X)。

相关内容