链接到没有libsfml-dev

时间:2015-06-15 21:15:22

标签: c++ linux sfml

我目前将其他链接选项作为:

Other Linker Options

不幸的是,这意味着我只能在安装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(从图像中可以看到),我想知道如何相对链接到库。它们从Code :: Blocks运行时链接正常,但是当我运行可执行文件时,我得到了上述错误。我目前的Code :: Blocks选项是:

链接器选项:

Linker Options

(其他链接器选项为空)

搜索目录:

Search Directories

1 个答案:

答案 0 :(得分:1)

您的第一个链接器选项将是正确的。 只有编译机器上才需要库libsfml-dev

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