0

我提取了一个使用 sfml 库在 C++ 中编写的应用程序,但在 Eclipse 中设置库时遇到问题。我指定了包含路径、lib 路径并包含了所有需要链接的 .so 库。该应用程序编译得很好,但它在运行时抱怨缺少库。为什么会这样?我不是已经在项目设置中包含了库的路径吗?我什至尝试将所有 .so 文件放在可执行目录中,但没有成功。

4

1 回答 1

0

只有共享库的名称存储在可执行文件中。在程序启动时,动态链接器然后在其搜索路径中搜索指定的库。您可以通过在环境变量 LD_LIBRARY_PATH 中放置冒号分隔或在 /etc/ld.so.conf 中指定它们来添加/指定搜索路径(至少如果您使用某些基于 unix 的操作系统)。在 Windows 上,搜索动态链接库 (DLL) 时会使用整个 PATH 环境变量。

要查看给定应用程序使用的共享库的路径,请运行ldd applicationPath

于 2010-09-06T16:44:36.830 回答