我的 LD_LIBRARY_PATH 设置为 /usr/local/lib
blahblah@test:~$ ls -al /usr/local/lib
total 1392
drwxr-xr-x 5 root root 4096 .
drwxr-xr-x 10 root root 4096 ..
lrwxrwxrwx 1 root root 12 libglfw.so -> libglfw.so.3
lrwxrwxrwx 1 root root 14 libglfw.so.3 -> libglfw.so.3.3
-rw-r--r-- 1 root root 335888 libglfw.so.3.3
lrwxrwxrwx 1 root root 23 libsfml-graphics.so -> libsfml-graphics.so.2.5
lrwxrwxrwx 1 root root 25 libsfml-graphics.so.2.5 -> libsfml-graphics.so.2.5.1
-rw-r--r-- 1 root root 475800 libsfml-graphics.so.2.5.1
当我使用 SFML 库时,它运行良好。但是当使用 GLFW 时,编译器返回错误消息。
error while loading shared libraries: libglfw.so.3: cannot open shared object file: No such file or directory
如果我像下面这样设置 LD_LIBRARY_PATH 来运行程序,它又可以正常工作了。我不知道这里发生了什么。
blahblah@test:~$ LD_LIBRARY_PATH=/usr/local/lib ./my_program