我的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
答案 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仅由编译器使用。库路径未包含在最终的二进制文件中。