Building SFML on Fedora 24 linking error: error while loading shared libraries: libsfml-graphics.so.2.4: cannot open shared object file

Building SFML on Fedora 24 linking error: error while loading shared libraries: libsfml-graphics.so.2.4: cannot open shared object file

几天来,我一直在尝试让 SFML 在 Fedora 24 上运行,但我似乎无法让它运行。程序编译并且 link 很好,但是当我尝试 运行 编译的程序时,我得到这个错误:

./sfml-app: error while loading shared libraries: libsfml-graphics.so.2.4: cannot open shared object file: No such file or directory

我知道文件在那里,因为它们都位于 /usr/lib 目录中:

ls /usr/lib | grep sfml
libsfml-audio-d.so
libsfml-audio-d.so.2.4
libsfml-audio-d.so.2.4.0
libsfml-graphics-d.so
libsfml-graphics-d.so.2.4
libsfml-graphics-d.so.2.4.0
libsfml-network-d.so
libsfml-network-d.so.2.4
libsfml-network-d.so.2.4.0
libsfml-system-d.so
libsfml-system-d.so.2.4
libsfml-system-d.so.2.4.0
libsfml-window-d.so
libsfml-window-d.so.2.4
libsfml-window-d.so.2.4.0

我认为问题在于它正在寻找 libsfml-graphics.so.2.4,但该文件实际上名为 libsfml-graphics-d.so.2.4。由于某种原因,-d 在实际文件名中。我尝试在没有 -d 的情况下对文件制作 link 但它仍然不起作用。

我自己使用 CMake 和 make 构建了 SFML,然后使用 make install.

安装了它

当我运行 ldconfig -p | grep sfml 我明白了:

libsfml-window-d.so.2.4 (libc6,x86-64) => /lib/libsfml-window-d.so.2.4
libsfml-window-d.so (libc6,x86-64) => /lib/libsfml-window-d.so
libsfml-system-d.so.2.4 (libc6,x86-64) => /lib/libsfml-system-d.so.2.4
libsfml-system-d.so (libc6,x86-64) => /lib/libsfml-system-d.so
libsfml-network-d.so.2.4 (libc6,x86-64) => /lib/libsfml-network-d.so.2.4
libsfml-network-d.so (libc6,x86-64) => /lib/libsfml-network-d.so
libsfml-graphics-d.so.2.4 (libc6,x86-64) => /lib/libsfml-graphics-d.so.2.4
libsfml-graphics-d.so (libc6,x86-64) => /lib/libsfml-graphics-d.so
libsfml-audio-d.so.2.4 (libc6,x86-64) => /lib/libsfml-audio-d.so.2.4
libsfml-audio-d.so (libc6,x86-64) => /lib/libsfml-audio-d.so

我们将不胜感激任何有助于此工作的帮助。 :)

编辑:
我下载了官方的 fedora SFML 包。我想我第一次安装它时忘记了安装 SFML-devel 包。

“-d”文件是库的调试版本(如果我没有记错 SFML 的命名约定的话)。您似乎缺少非调试版本。