2010-09-06 46 views
0

我用C++编写的应用程序使用sfml库,但我在Eclipse中设置库时遇到问题。我指定了包含路径,lib路径并包含了所有需要链接的.so库。该应用程序编译得很好,但它在运行时抱怨丢失的库。这是为什么发生?我没有在项目设置中包含库的路径吗?我甚至试图将所有.so文件放在可执行文件目录中,但没有运气。eclipse sfml库问题

回答

0

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

查看给定应用程序使用的共享库路径ldd applicationPath

+0

所以我运行了这个命令,它说我试图链接到的库在/ usr/local/lib中。为什么是这样?在定义了该路径的eclipse项目设置中没有选项。我怎样才能让它在项目文件夹中查找共享库? – TheFuzz 2010-09-06 18:30:07

+0

也许你必须像这样启动它(假设应用程序名是appname):LD_LIBRARY_PATH =。 ./appname – Elrohir 2010-09-06 21:37:50