因此,我使用C ++和SFML在Linux(OpenSUSE)中创建了一个程序。
我试图将编译好的程序发送给我的一个朋友(也在Linux上),但它说它丢失了DLL。所以我包括了我使用的所有“.so”(音频,图形,窗口和系统),但是当他试图运行它时,它一直出错:
error while loading shared libraries: libsfml-audio.so.2.4: cannot open shared object file: No such file or directory
所以我去检查了,我肯定包含了“libsfml-audio.so.2.4”文件。
我真的不想让他安装SFML只是为了让他可以运行它。
提前感谢您的帮助。
答案 0 :(得分:2)
Linux在加载共享库方面有点挑剔。
最简单的解决方案是确实捆绑您的共享库并告诉程序实际从那里加载它们。
我们假设共享库在您的可执行文件旁边,您可以像这样启动它:
LD_LIBRARY_PATH=. ./yourExecutableName