在没有 libsfml-dev 的情况下链接到 SFML 库

Linking to SFML libraries without libsfml-dev

我目前的其他链接器选项为:

不幸的是,这意味着我只能在安装 libsfml-dev 时 运行 可执行文件,这对于游戏开发来说是不可取的。每当我更改“其他链接器选项”或“搜索目录”>“链接器”时,都会导致以下错误: error while loading shared libraries: libsfml-graphics.so.2.2.0: cannot open shared object file: No such file or directory。我认为发生此错误是因为库是相对的,因此它是完全可移植的。

编辑:

我正在使用 Code::Blocks(从图中可以看出),我想知道如何 link 相对于库。当它是 Code::Blocks 的 运行 时,它们 link 很好,但是当我 运行 可执行文件时,我得到了上述错误。我当前的 Code::Blocks 个选项是:

链接器选项:

(其他 linker 选项为空)

搜索目录:

您的第一个链接器选项应该是正确的。 库 libsfml-dev 仅在编译机器上需要。

还必须有另一个实际提供 .so 文件的包。机器上也需要那个 运行 可执行文件,除非您将这些 .so 文件与可执行文件打包在一起。在这种情况下,您可能需要一个脚本来将 LD_LIBRARY_PATH 设置为包含打包的 .so 文件的本地目录,然后执行您的程序。