加载库时出错

时间:2017-02-22 18:07:30

标签: c++ linux sfml

我的makefile的内容:

all: compile launch

compile:
    g++ main.cpp -c -I/media/eidan/soft/c++/Libraries/SFML-2.4.2/include 

launch:
    g++ main.o -o result -L/media/eidan/soft/c++/Libraries/SFML-2.4.2/lib -lsfml-window -lsfml-system -lsfml-graphics

当我尝试启动程序时,我得到了这个:

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

虽然我的SFML路径是正确的,文件 libsfml-window.so.2.4 存在

我必须在Makefile中更改哪些内容才能使其正常工作?

PS:Ubuntu 16.04

1 个答案:

答案 0 :(得分:0)

这可以通过以下方式之一解决:
 1.创建/etc/ld.so.conf.d/some.conf文件并在其中添加/media/eidan/soft/c++/Libraries/SFML-2.4.2/lib路径
 2.创建启动脚本,在启动时导出链接的共享库目录的LD_LIBRARY_PATH。可以手动为任何已启动的bash会话导出此库路径 -L CFLAG仅由编译器使用。库路径未包含在最终的二进制文件中。