【发布时间】:2017-05-21 19:52:19
【问题描述】:
使用 Linux Mint 18 Cinnamon 64 位
我在尝试使 SFML 工作时遇到问题。我正在尝试使用 g++ 从命令行编译。
我的档案是/home/joe/Desktop/SFML/test/main.cpp
我的 SFML 文件夹位于 /usr/lib/SFML-2.4.1
如果我运行g++ -c main.cpp -I/usr/lib/SFML-2.4.1/include,它编译得很好。
然后我运行g++ main.o -o sfml-app -L/usr/lib/SFML-2.4.1/lib -lsfml-graphics -lsfml-system -lsfml-window -lsfml-audio 这之前有问题,但是在使用 -L 命令之后它现在可以正常工作了。
但是,当我运行 ./sfml-app 时,我收到错误 ./sfml-app: error while loading shared libraries: libsfml-graphics.so.2.4: cannot open shared object file: No such file or directory
现在在/usr/lib/SFML-2.4.1/lib 目录中,libsfml-graphics.so.2.4 是一个符号链接,具有以下链(该目录中的所有文件。
libsfml-graphics.so -> libsfml-graphics.so.2.4 -> libsfml-graphics.so.2.4.1
那么任何人都可以向我解释为什么找不到目标文件吗?谢谢
【问题讨论】:
-
您可以使用
-rpath/usr/lib/SFML-2.4.1/lib告诉ld包含库的完整路径,或者在/etc/ld.so.conf.d中创建一个指向库位置的配置文件,然后运行ldconfig。
标签: c++ linux sfml sfml.net jsfml