我使用sfml库提取了我在C ++中编写的应用程序,但是我在Eclipse中设置库时遇到了麻烦。我指定了包含路径,lib路径并包含了要链接的所有必需的.so库。应用程序编译正常但它在运行时抱怨缺少库。为什么会这样?我没有在项目设置中包含库的路径吗?我甚至试图将所有.so放在可执行文件目录中,但没有运气。
答案 0 :(得分:0)
只有可执行文件中存储的共享库的名称。在程序启动时,动态链接器然后在其搜索路径中搜索指定的lib。您可以通过将冒号分隔在环境变量LD_LIBRARY_PATH中或通过在/etc/ld.so.conf中指定它们来添加/指定搜索路径(至少如果使用某些基于unix的OS)。在Windows上,搜索动态链接库(DLL)时使用整个PATH环境变量。
要查看给定应用程序使用的共享库的路径,请运行ldd applicationPath
。